Tutorial Android : Cara Membuat Notification di Aplikasi Android

Akhirnya musim KRS semester genap di tahun ini tiba juga, yang di perkirakan dimulai kemarin ternyata molor dan baru akan diadakan besok. Jadi ingat deh dengan pengalaman saya bersama teman-teman yang lainnya semester kemarin mengawal jalannya proses KRS’an. Ada suka dan dukanya, kebanyakan dukanya sih. Sukanya yaw bisa berkuasa, karena password database saya yang pegang ;). Dukanya, gak bisa tidur tenang karena sewaktu-waktu pasti ditelpon kalau aplikasi KRS’nya error. Belum lagi uang capeknya yang gak seberapa, pokoknya sesuatu banget deh. Semester ini, aplikasi KRS dikerjakan oleh bagian SISFO, tepatnya oleh mas Erda. Lanjut ke judul postingan di atas, dimana pada postingan kali ini yang masih berbau-bau android, saya akan membagikan sedikit cara membuat notifikasi sederhana di aplikasi android. Ini biasanya muncul di status bar dan kalau notification bar di tarik ke bawah maka akan muncul notifikasinya. Kebanyakan yang saya lihat dari aplikasi-aplikasi yang pernah saya coba, notifikasi ini malah dijadikan sebagai tempat untuk memasang iklan. Kalau di-klik, otomatis langsung menuju ke halaman web yang berisi iklan (licik juga yaw :p). Cara membuatnya ternyata cukup mudah, bisa memanfaatkan lib Notification yang sudah include di dalam SDK. Berikut cara membuatnya, cekidot….

1. Seperti biasa, kita buat terlebih dahulu project android baru. Detailnya seperti gambar di bawah ini :

2. Buka dan edit file main.xml yang ada di folder layout. Ketikkan kode layout di bawah ini yang nantinya akan menghasilkan sebuah tombol untuk mengaktifkan notifikasi :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="tampilNotifikasi"
        android:text="Tampilkan Notifikasi" >
    </Button>

</LinearLayout>

3. Disini kita membutuhkan 2 buah activity, otomatis juga membutuhkan 2 file layout dan 2 file activity. Buat file layout baru dengan nama result.xml di dalam folder layout.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/text_hasil"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" >
    </TextView>

</LinearLayout>

4. Sekarang kita melangkah ke pembuatan file activity-nya. Buka dan edit file NotifReadActivity.java, ketikkan kode di bawah ini :

public class NotifReadActivity extends Activity {

	@Override

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	public void tampilNotifikasi(View view) {
		NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		Notification notification = new Notification(R.drawable.suse,"Halo mas brow, ente dapat notifikasi dari ane..!!!", System.currentTimeMillis());
		notification.flags |= Notification.FLAG_AUTO_CANCEL;

		Intent intent = new Intent(this, NotificationReceiver.class);
		Bundle b = new Bundle();
		b.putString("pesan", "Halo mas brow, ini notifikasi dari ane. Makasi udah berkunjung ke http://gedelumbung.com.");
		intent.putExtras(b);

		PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
		notification.setLatestEventInfo(this, "Notifikasi Dari Gede Lumbung","Klik mas brow, untuk lihat isi pesannya", activity);
		notification.number += 1;
		notificationManager.notify(0, notification);
	}
}

Function tampilNotifikasi() dipanggil dari tombol yang telah kita buat di file main.xml tadi dengan menggunakan event onClick. Saya sisipkan sebuah variabel yang bertipekan string, dan akan ditampilkan di file activity yang kedua. Silahkan baca postingan saya yang kemarin, tentang parsing variabel dari activity ke activity lain.

5. Buat file activity yang kedua dengan nama NotificationReceiver.java. Kodenya sederhana, yaitu mengekstrak variabel yang disisipkan dari activity yang pertama kemudian di tampilkan ke dalam sebuah textview.

public class NotificationReceiver extends Activity {
	TextView set_pesan;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.result);
		set_pesan = (TextView) findViewById(R.id.text_hasil);
		Bundle b = getIntent().getExtras();
		set_pesan.setText(b.getString("pesan"));
	}
}

6. Jangan lupa untuk mendaftarkan activity yang kedua ke dalam file AndroidManifest.xml, kalau tidak didaftarkan file activity yang kedua tidak akan bisa dieksekusi.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="dlmbg.pckg.notif.read"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".NotifReadActivity"
                  android:label="Membuat Notifikasi Sederhana">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

		<activity android:name="NotificationReceiver" android:label="Isi Notifikasi"></activity>
    </application>
</manifest>

7. Dan yang terakhir, jalankan aplikasi di emulator.

Notifikasi ini cukup penting untuk aplikasi android yang selalu terhubung dengan internet seperti aplikasi Facebook, TweetCaster dan yang lainnya. Tidak perlu susah-susah buka aplikasinya, pasti ada notifikasi yang akan muncul di status bar-nya. OK deh, sekian dulu postingan saya kali ini. Semoga bermanfaat untuk rekan-rekan.

Happy Blogging and Keep Coding

Cheerrrsss….!!!!

[to_like]Download Aplikasi[/to_like]

18 comments

  1. ihsan Reply

    Nice… nice…
    kliatan gan web developer nya..
    Di android kan ‘tap’.. dsana ‘klik’.
    ™ђёe..ђёe..ђёe..ђёe..™..

    semangaatttt.

  2. dimz Reply

    mas saya mau tanya, kalo notifikasinya otomatis, pake kalender/jam gitu gmn caranya yah?? jadi udah di set, kalo hari ini jam segini, bakal muncul tuh notifikasi,,,,

  3. safe Reply

    klo untuk nampilin gambar iklan saat aplikasi dibuka gimana ya mas,, ntar di gambar iklan itu bisa ada tombol closenya.

  4. irawan Reply

    Mas maaf mau tanya, saya sudah coba di eclipse tp ada error di file result.xml
    di baris
    android:layout_width=”match_parent”
    android:layout_height=”match_parent”
    apa ada yang salah pada pengisiannya.

    Terima kasih

  5. dwi Reply

    salam kenal sebelumnya bli.
    sya bleh tanya2 tentang pembuatan aplikasi android yg ada notif nya?
    kalau bleh, tlong email ya bli.

    Terima Kasih 🙂

  6. Dicky Reply

    gan mo tanya klo cara membuat notifikasi ketika data di dlm tabel mengalami perubahan/update gmn y??

    • Gede Lumbung Post authorReply

      ketika selesai proses update atau delete dan statusnya TRUE, langsung jalankan aja notification yang ini

      • Dicky Reply

        oowh,, oh y sy lupa blg
        aplikasi android sy itu koneksi ke mysql ,yg di android hny bs menglihat isi dr tabel aja sedangkan untuk mengubah/menambah data pada tabel dilakukan pada websitenya
        kira2 bisa ga y dibikin notifikasinya??

  7. Pingback: Droiders » Blog Archive

  8. Kodok Ngorek Reply

    Gan ane punya aplikasi di play store trus bikin update buat aplikasi ane, nah ane bingung cara bikin notifikasi klo update terbaru tersedia gmn yak…???
    ane bikin ga jadi-jadi… hehe… masih newbie…

  9. fathul wahhab Reply

    thx gan infonya.
    klw bikin aplikasi notifikasi androidnya pake HTML5 gimana ?????. soalnya sy lgi blajar bikin pake phonegap/cordova

  10. rahmat andi Reply

    kalo pengen nampilin notif pesan masuk dari aplikasi sms yg saya buat gimana ya?

  11. rully Reply

    misi gan…agak melenceng nih…..hh ssaya jika ada notifikasi di stat bar jika di tarik kebawah oom game ada notifikasinya……knapa tuh gan….Dan cara ngatasinya gmna…???
    mkasih sebelumnya…

  12. rully Reply

    misi gan…agak melenceng nih…..hh ssaya jika ada notifikasi di stat bar jika di tarik kebawah gak a da notifikasinya……knapa tuh gan….Dan cara ngatasinya gmna…???
    mkasih sebelumnya…