Eine Benachrichtigung ist eine Nachricht, die Sie an den Benutzer außerhalb der normalen Benutzeroberfläche Ihrer Anwendung angezeigt werden können. Sie können Ihre eigenen Mitteilungen in android sehr einfach zu erstellen.
Android bietet NotificationManager Klasse für diesen Zweck. Um diese Klasse zu verwenden, müssen Sie ein Objekt dieser Klasse durch Anfordern des Android-System durch instanziieren getSystemService () -Methode. Die Syntax ist unten angegeben -
NotificationManager NM; NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Danach werden Sie durch Mitteilung erstellen Benachrichtigungsklasse und geben Sie die Attribute wie Symbol, Titel und Zeit etc. Die Syntax ist unten angegeben -
Notification notify=new Notification(android.R.drawable.stat_notify_more,title,System.currentTimeMillis());
Das nächste, was Sie tun müssen, ist, einen zu erstellen PendingIntent indem Kontext und Absicht als Parameter. Indem sie eine PendingIntent zu einer anderen Anwendung, gewähren Sie es sich vor, die Operation, die Sie angegeben haben, als wenn die andere Anwendung war selbst durchführen.
PendingIntent pending=PendingIntent.getActivity(getApplicationContext(), 0, new Intent(),0);
Das letzte, was Sie tun müssen, ist anrufen setLatestEventInfo Verfahren des Notification-Klasse und übergeben die anstehenden Absicht zusammen mit Benachrichtigung Betreff und Details. Die Syntax ist unten angegeben. Und dann schließlich nennen benachrichtigen Verfahren der NotificationManager Klasse.
notify.setLatestEventInfo(getApplicationContext(), subject, body,pending); NM.notify(0, notify);
Abgesehen von der Benachrichtigungsverfahren, gibt es andere verfügbare Verfahren im NotificationManager Klasse. Sie sind: -
Sr.No | Verfahren & Beschreibung |
---|---|
1 | Abbrechen (int id)
Diese Methode Abbrechen einer zuvor dargestellten Meldung.
|
2 | Abbrechen (String-Tag, int id)
Diese Methode auch eine zuvor gezeigt, zu kündigen.
|
3 | cancelAll ()
Diese Methode brechen Sie alle zuvor gezeigt Benachrichtigungen.
|
4 | benachrichtigen (int id, Mitteilung Mitteilung)
Diese Methode Post eine Benachrichtigung in der Statusleiste angezeigt.
|
5 | benachrichtigen (String-Tag, int id, Mitteilung Mitteilung)
Diese Methode Stellen Sie auch eine Benachrichtigung in der Statusleiste angezeigt werden.
|
Beispiel
Das folgende Beispiel demonstriert die Verwendung von NotificationManager Klasse. Es Kästen einer einfachen Anwendung, die Sie, um eine Benachrichtigung zu erstellen.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät oder einem Emulator laufen.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem packagecom.example.sairamkrishna.myapplication erstellen. Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei Benachrichtigung Code hinzufügen. |
3 | Ändern Sie das Layout XML-Datei res / layout / activity_main.xml jede GUI-Komponente hinzufügen, wenn erforderlich. |
4 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Hier beträgt der Gehalt an MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Typeface; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import static java.lang.System.currentTimeMillis; public class MainActivity extends ActionBarActivity { EditText ed1,ed2,ed3; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ed1=(EditText)findViewById(R.id.editText); ed2=(EditText)findViewById(R.id.editText2); ed3=(EditText)findViewById(R.id.editText3); Button b1=(Button)findViewById(R.id.button); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String tittle=ed1.getText().toString().trim(); String subject=ed2.getText().toString().trim(); String body=ed3.getText().toString().trim(); NotificationManager notif=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Notification notify=new Notification(R.drawable.noti,tittle,System.currentTimeMillis()); PendingIntent pending= PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0); notify.setLatestEventInfo(getApplicationContext(),subject,body,pending); notif.notify(0, notify); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Hier beträgt der Gehalt an activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Notification" android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="30dp" /> . <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials Point" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:textSize="35dp" android:textColor="#ff16ff01" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_below="@+id/textView2" android:layout_alignLeft="@+id/textView2" android:layout_alignStart="@+id/textView2" android:layout_marginTop="52dp" android:layout_alignRight="@+id/textView2" android:layout_alignEnd="@+id/textView2" android:hint="Name" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText2" android:hint="Subject" android:layout_below="@+id/editText" android:layout_alignLeft="@+id/editText" android:layout_alignStart="@+id/editText" android:layout_alignRight="@+id/editText" android:layout_alignEnd="@+id/editText" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/editText3" android:hint="Body" android:layout_below="@+id/editText2" android:layout_alignLeft="@+id/editText2" android:layout_alignStart="@+id/editText2" android:layout_alignRight="@+id/editText2" android:layout_alignEnd="@+id/editText2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Notification" android:id="@+id/button" android:layout_marginTop="77dp" android:layout_below="@+id/editText3" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" /> </RelativeLayout/7gt;
Hier beträgt der Gehalt an AndroidManifest.xml.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Lassen Sie uns versuchen, unsere Anwendung auszuführen. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Ausführen-Symbol in der Werkzeugleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Nun füllen Sie das Feld mit dem Titel, Thema und den Körper. Dies wurde in der Figur unten gezeigt, -
Klicken Sie nun auf die Meldungstaste und Sie erhalten eine Benachrichtigung in der Benachrichtigungsleiste oben zu sehen. Es wurde unten -
Jetzt scrollen Sie die Benachrichtigungsleiste und finden Sie in der Benachrichtigung. Dies wurde in der Figur unten gezeigt, -
0 التعليقات:
Kommentar veröffentlichen