Android Push Notification Tutorial

En melding er en melding du kan vise til brukeren utenfor programmets normal UI. Du kan lage dine egne meldinger i android veldig enkelt.

Android gir NotificationManager
klasse for dette formålet. For å kunne bruke denne klassen, må du på å bruke et objekt av denne klassen ved å be om Android-systemet gjennom getSystemService () -metoden
. Syntaksen er gitt nedenfor −
NotificationManager NM, NM = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE);

Etter at du vil lage Notification gjennom Varsling
klasse og spesifisere sine attributter som ikon , tittel og klokkeslett etc Syntaksen er gitt nedenfor −
Notification varsle = new Notification (android.R.drawable.stat_notify_more, tittel, System.currentTimeMillis ());

Den neste tingen du trenger å gjøre er å lage en PendingIntent
ved å sende kontekst og hensikt som en parameter. Ved å gi en PendingIntent til et annet program, gir du det retten til å utføre operasjonen du har spesifisert som om det andre programmet var selv.
PendingIntent påvente = PendingIntent.getActivity (getApplicationContext (), 0, new Intent (), 0);

Det siste du trenger å gjøre er å ringe setLatestEventInfo
metoden i Notification klasse og passere den ventende hensikt sammen med innkalling emne og kropps detaljer. Syntaksen er gitt nedenfor. Og så til slutt ringe varsle metoden i NotificationManager klassen
notify.setLatestEventInfo (getApplicationContext (), emne, kropp, pending),. NM.notify (0, varsle);

Bortsett fra varsle metoden, finnes det andre metoder som er tilgjengelige i NotificationManager klassen. De er listet opp nedenfor −
Sr.NoMethod & description1 avbryte (int id)

Denne metoden avbryte et tidligere vist varsel.
2 avbryte (String tag, int id)

Denne metoden også avbryte et tidligere vist varsling.
3 cancelAll ()

Denne metoden avbryte alle tidligere vist varslinger.

4 varsle (int id, Notification varsling)

Denne metoden publisere en melding om å bli vist i statuslinjen.
5 varsle (String tag, int id, Notification varsling)

Denne metoden også legge inn et varsel som skal vises på statuslinjen.

Eksempel

Eksempelet nedenfor viser bruken av NotificationManager klasse. Det kasser en enkel applikasjon som lar deg lage en varsling.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke Android studio for å lage en Android applikasjon under en packagecom.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge Notification code.3Modify layout XML fil res /layout /activity_main.xml legge til GUI-komponent hvis required.4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Her er innholdet i MainActivity.java
.
pakke 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. knappen, import android.widget.EditText, importere android.widget.TextView, importere android.widget.Toast, import statiske java.lang.System.currentTimeMillis; public class MainActivity strekker ActionBarActivity {EditText ed1, ED2, ED3; beskyttet 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 = (knappen) findViewById (R.id.button); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {String titta = ed1.getText () toString () trim ();... String Emne = ed2.getText () toString () .trim (); String kroppen = ed3.getText () toString () trim ();.. NotificationManager notif = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); Notification varsle = new Notification (R.drawable.noti, titta, System .currentTimeMillis ()); PendingIntent påvente = PendingIntent.getActivity (getApplicationContext (), 0, new Intent (), 0); notify.setLatestEventInfo (getApplicationContext (), emne, kropp, pending), notif.notify (0, varsle);}}); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Her er innholdet i activity_main.xml
< RelativeLayout xmlns: Android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "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" verktøy: kontekst = ". MainActivity" > < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Melding" android: id = "+ id /textView" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android : Tekststørrelse = "30dp" /> . < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "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 = "Navn" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /editText2" android: hint = "Emne" 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 = "Melding" android: id = "+ id /knapp" android: layout_marginTop = "77dp" android: layout_below = "+ id /editText3 "android: layout_alignRight =" + id /textView "android: layout_alignEnd =" + id /textView "/> < /RelativeLayout /7gt;

Her er innholdet i AndroidManifest.xml < .? .no> < xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.sairamkrishna.myapplication" > < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre vår søknad. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

Nå fylle ut feltet med tittel, emne og kroppen. Dette er vist nedenfor i figur −

Nå kan du klikke på varsle knappen og du vil se en melding i toppen varslingslinjen. Det har blitt vist nedenfor −

Nå blar nedover varslingslinjen og se varselet. Dette er vist nedenfor i figuren og minus;