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 {@Overridepublic 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代码部分:
@Overrideprotected void onStart() {//在onStart注册广播,和程序一起运行receive = new simidaReceive();IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");registerReceiver(receive, filter);super.onStart();}@Overrideprotected void onStop() {//在onStop取消广播接收unregisterReceiver(receive);super.onStop();}
静态注册将会驻留在系统中,随着系统启动而启动,一直工作。如果没有必要,我推荐使用动态注册的方式来注册广播,这样将会节省系统资源和电量。