Android - Pemberitahuan Push
Notifikasi adalah pesan yang dapat Anda tampilkan kepada pengguna di luar UI normal aplikasi Anda. Anda dapat membuat notifikasi sendiri di android dengan sangat mudah.
Android menyediakan NotificationManagerkelas untuk tujuan ini. Untuk menggunakan kelas ini, Anda perlu membuat instance objek kelas ini dengan meminta sistem android melaluigetSystemService() method. Sintaksnya diberikan di bawah ini -
NotificationManager NM;
NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Setelah itu Anda akan membuat Notification through Notification kelas dan tentukan atributnya seperti ikon, judul dan waktu dll Sintaksnya diberikan di bawah ini -
Notification notify = new Notification(android.R.drawable.stat_notify_more,title,System.currentTimeMillis());
Hal berikutnya yang perlu Anda lakukan adalah membuat file PendingIntentdengan meneruskan konteks dan maksud sebagai parameter. Dengan memberikan PendingIntent ke aplikasi lain, Anda memberinya hak untuk melakukan operasi yang telah Anda tentukan seolah-olah aplikasi lain itu sendiri.
PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(),0);
Hal terakhir yang perlu Anda lakukan adalah menelepon setLatestEventInfometode kelas Notification dan meneruskan maksud yang tertunda bersama dengan subjek notifikasi dan detail isi. Sintaksnya diberikan di bawah ini. Dan terakhir panggil metode notify dari kelas NotificationManager.
notify.setLatestEventInfo(getApplicationContext(), subject, body,pending);
NM.notify(0, notify);
Selain metode notify, ada metode lain yang tersedia di kelas NotificationManager. Mereka tercantum di bawah ini -
Sr Tidak | Metode & deskripsi |
---|---|
1 | cancel(int id) Metode ini membatalkan pemberitahuan yang ditampilkan sebelumnya. |
2 | cancel(String tag, int id) Metode ini juga membatalkan pemberitahuan yang ditampilkan sebelumnya. |
3 | cancelAll() Metode ini membatalkan semua pemberitahuan yang ditampilkan sebelumnya. |
4 | notify(int id, Notification notification) Metode ini memposting pemberitahuan untuk ditampilkan di bilah status. |
5 | notify(String tag, int id, Notification notification) Metode ini juga memposting pemberitahuan untuk ditampilkan di bilah status. |
Contoh
Contoh di bawah ini menunjukkan penggunaan kelas NotificationManager. Ini berisi aplikasi dasar yang memungkinkan Anda membuat notifikasi.
Untuk bereksperimen dengan contoh ini, Anda perlu menjalankannya di perangkat sebenarnya atau di emulator.
Langkah | Deskripsi |
---|---|
1 | Anda akan menggunakan studio Android untuk membuat aplikasi Android di bawah aplikasi packagecom.example.sairamkrishna.myapplication. |
2 | Ubah file src / MainActivity.java untuk menambahkan kode Notifikasi. |
3 | Ubah layout file XML res / layout / activity_main.xml tambahkan komponen GUI apa pun jika diperlukan. |
4 | Jalankan aplikasi dan pilih perangkat android yang sedang berjalan dan instal aplikasi di atasnya dan verifikasi hasilnya. |
Berikut adalah konten dari MainActivity.java.
Dalam kode berikut abc menunjukkan logo tutorialspoint.com
package com.example.sairamkrishna.myapplication;
import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
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.Builder
(getApplicationContext()).setContentTitle(tittle).setContentText(body).
setContentTitle(subject).setSmallIcon(R.drawable.abc).build();
notify.flags |= Notification.FLAG_AUTO_CANCEL;
notif.notify(0, notify);
}
});
}
}
Berikut adalah konten dari activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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>
Berikut adalah konten dari 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>
Mari coba jalankan aplikasi kita. Untuk menjalankan aplikasi dari Android studio, buka salah satu file aktivitas proyek Anda dan klik
Sekarang isi bidang dengan judul, subjek, dan badan. Ini telah ditunjukkan di bawah pada gambar -
Sekarang klik tombol beri tahu dan Anda akan melihat pemberitahuan di bilah notifikasi atas. Itu telah ditunjukkan di bawah ini -
Sekarang gulir ke bawah bilah notifikasi dan lihat notifikasi. Ini telah ditunjukkan di bawah pada gambar -