Android4.4:
静态广播:
可在AndroidManifest.xml中定义,不需程序启动即可接收,可用作自动启动程序
Intent.ACTION_BOOT_COMPLETED //系统启动完成
Intent.ACTION_MEDIA_MOUNTED //SD卡挂载
Intent.ACTION_MEDIA_UNMOUNTED //SD卡卸载
Intent.ACTION_USER_PRESENT//解除锁屏
ConnectivityManager.CONNECTIVITY_ACTION//网络状态变化
- <receiver android:name=".StaticBroadcastReceiver">
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
- <category android:name="android.intent.category.HOME" />
- </intent-filter>
- <intent-filter>
- <action android:name="android.intent.action.MEDIA_MOUNTED"/>
- <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
- <category android:name="android.intent.category.DEFAULT" />
- <data android:scheme="file" />
- </intent-filter>
- <intent-filter>
- <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
- <action android:name="android.intent.action.USER_PRESENT" />
- </intent-filter>
- </receiver>
- public class StaticBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- // TODO Auto-generated method stub
- if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
- Log.d(TAG, "onReceive boot: ");
- Intent new_intent = new Intent(context,TestLauncher.class);
- //popup the activity
- new_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(new_intent);
- }else if(intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
- Log.d(TAG, "onReceive ACTION_USER_PRESENT: ");
- }
- }
- }
动态广播:
只能在代码中注册,程序适应系统变化做操作,程序运行状态才能接收到
Intent.ACTION_SCREEN_ON //屏幕亮
Intent.ACTION_SCREEN_OFF //屏幕灭
Intent.ACTION_TIME_TICK //时间变化 每分钟一次