开机广播
可在此广播中做开机自启动服务
public class BootBroadcasrReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("CDH", "开机广播");
}
}
<receiver android:name=".BootBroadcasrReceiver" >
<intent-filter>
<!-- 接受系统开机广播 -->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
需要添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
应用增加广播
/**
* 1.安装其他应用时会收到广播,但安装本应用时不会收到广播
* 2.重新安装其他应用时会收到广播,但重新安装本应用时不会收到广播
*/
public class PackageAddedBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("CDH", "应用增加广播");
Log.i("CDH", "包名:"+intent.getDataString());
Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
}
}
<receiver android:name=".PackageAddedBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
应用卸载广播
/**
* 1.重新安装本应用时会收到广播
* 2.重新安装其他应用时会收到广播
* 3.其他应用被卸载时会收到广播,但本应用被卸载时不会收到广播
*/
public class PackageRemovedBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("CDH", "应用卸载广播");
Log.i("CDH", "包名:"+intent.getDataString());
Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
Log.i("CDH", "整个应用被卸载?:"+intent.getBooleanExtra(Intent.EXTRA_DATA_REMOVED, false));
Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
}
}
<receiver android:name=".PackageRemovedBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
需要添加权限
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"/>
应用重新安装广播
1.本应用重新安装
收到卸载广播 --> 重新安装广播
/**
* 1.重新安装本应用时会收到广播
* 2.重新安装其他应用时会收到广播
*/
public class PackageReplacedBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("CDH", "应用替换广播");
Log.i("CDH", "包名:"+intent.getDataString());
Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
}
}
<receiver android:name=".PackageReplacedBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
2.其他应用重新安装
收到卸载广播 --> 应用增加广播 --> 重新安装广播
分享到:
相关推荐
BroadCastReceiver
第一种注册的方法可以保证在应用程序安装之后,BroadcastReceiver始终处于活动状态,通常用于监听系统状态的改变,比如说手机的电量,wifi网卡的状态(当然,监视这些东西也是取决于软件的需求)。对于这样的...
BroadcastReceiver,两种注册方式
android的broadcastReceiver的介绍。
Android \BroadCastReceiver 最全的简介
BroadcastReceiver学习(01)
android BroadcastReceiver相关测试代码。我测试所用的。
android BroadcastReceiver 源码 学习
以获取电池电量为例对BroadcastReceiver和接口进行了简单讲解
Android学习之BroadcastReceiver总结
这是一个关于Android中四大组件之一 —— BroadcastReceiver,即广播的一个demo,里面涉及到BroadcastReceiver的两种注册方式,也简单的实现了广播,通过点击按钮发送广播,收到广播后打印日志。
Android下BroadcastReceiver的简单示例。详见博客:http://www.cnblogs.com/plokmju/p/android_BroadcastReceiver.html
BroadcastReceiver应用详解 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。
Android-BroadcastReceiver高级应用,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SystemBroadcastReceriver.html
介绍BroadcastReceiver使用的demo,具体的使用方法可以参看我的博客
这是一个国外的android手机应用源码实例,BroadcastReceiver这个应用我还没用过,不知道是干什么的,源码可为学习安卓开发的做些参考吧。
博客《BroadcastReceiver详解》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/38710901
Android BroadcastReceiver
BroadcastReceiver电量监控