内容接着Android-BoadcastReceiver广播接收者2的帖子。
三、接收系统的广播消息 Android定义了很多系统的标准广播,都在Intent类中作为常量定义。 例如收到一个系统启动的广播,开机自动运行程序,监听的广播为 ACTION_BOOT_COMPLETED 更多的请参考Intent类的源码定义: file:///C:\Users\ZHANGW~1\AppData\Local\Temp\ksohtml\wpsE765.tmp.jpg 注意:在xml代码中配置,在Intent类中要找到对应的常量字符串的值: 比如: public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; 例1:监听系统的修改系统时间事件 public class MyReceiver1 extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.i("MyReceiver2", "系统时间发生修改"); } } <receiver android:name="com.example.testbroadcastreceiver2.service.MyReceiver1" > <intent-filter > <action android:name="android.intent.action.TIME_SET" > </action> </intent-filter> </receiver> 例2:开机自动启动程序 监听系统广播 public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; 在onReceive方法中编写启动代码: Intent intent = new Intent(); intent.setAction(….); //设置启动程序的隐式意图 startActivity(intent);
|