[Android 學習筆記] BrodcastReceiver 使用教學

在 Android 程式中,常常可以透過廣播接收器來接收有興趣的廣播並回應廣播。接下來我們就簡單介紹如何使用廣播接受器來處理發出的廣播訊息。


廣播接受器基礎
Android 系統內建了許多會發出廣播的情境,例如:接收來電、電池剩餘量過低、接收簡訊等。透過發出特定的廣播訊息由廣播接受器進行回應。


建立廣播接收器接收系統廣播
廣播接收器本身並無使用任何介面,僅為一繼承 android.content.BroadcastReceiver 抽象類別的子類別,等到接收到指定廣播而觸發時,即可在實作的 onReceive() 抽象方法。

public class MyBroadcastReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        //繼承BroadcastReceiver抽象類別,實作onReceive處理接收的廣播
        Bundle extras = intent.getExtras();
        if(extras != null) {
            String state = extras.getString(TelephonyManager.EXTRA_STATE);
                                            if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
                Toast.makeText(context, "電話號碼"+phoneNumber, Toast.LENGTH_SHORT).show();
            }
        }
    }
}

贊助本站 (Donate)