android安卓廣播的使用

android的廣播分爲動態註冊和靜態註冊兩種情況

首先先說下靜態註冊

靜態註冊就是在xml進行註冊 代碼如下:

java代碼部分:

package com.example.tt;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;


public class simidaReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Toast.makeText(context, "接收到廣播信息了,然後我就被打印了", Toast.LENGTH_LONG).show();
	}

}


xml代碼部分:

 

 <receiver android:name="simidaReceive">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>

當然還需要一個權限:

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


這樣就完成了一個廣播的靜態註冊,在系統接收到短信時候會提示一個Toast信息。

效果如下:

 

動態註冊:

java代碼部分:

	@Override
	protected void onStart() {
		//在onStart註冊廣播,和程序一起運行
		receive = new simidaReceive();
		IntentFilter filter = new IntentFilter(
				"android.provider.Telephony.SMS_RECEIVED");
		registerReceiver(receive, filter);
		super.onStart();
	}

	@Override
	protected void onStop() {
		//在onStop取消廣播接收
		unregisterReceiver(receive);
		super.onStop();
	}


 

靜態註冊將會駐留在系統中,隨着系統啓動而啓動,一直工作。如果沒有必要,我推薦使用動態註冊的方式來註冊廣播,這樣將會節省系統資源和電量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章