registerReceiver


Android BroadcastReceiver

Untuk bagian broadcast:

Intent intent = new Intent();
intent.setAction(receiver);
intent.putExtra("pagi","Selamat pagi.");
sendBroadcast(intent);

Untuk bagian receiver:

// Buat receiver.
BroadcastReceiver bReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String str = intent.getStringExtra("pagi");
        Log.d(TAG,str);
    }
};
// Buat filter.
IntentFilter filter = new IntentFilter();
filter.addAction(receiver);
// Daftarkan receiver dan filter.
registerReceiver(bReceiver,filter);

 

Source code:
download


Detecting Internet Connection

Jika kita menggunakan koneksi internet pada program android, hal yang perlu diperhatikan adalah status dari koneksi internet tersebut. Jangan sampai program yang dibuat tidak mengetahui kalau internet telah terputus. Untuk mengatasi hal ini, dengan BroadcastReceiver.

context.registerReceiver(new BroadcastReceiver() {
    @Override
        public void onReceive(Context context, Intent intent) {
            boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
                if (noConnectivity) {
                    // Lakukan sesuatu jika tidak ada koneksi.
                } else {
            // Lakukan sesuatu jika tidak ada koneksi.
                }
           }
}, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

Pada bagian manifest, tambahkan permissin berikut:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />