幾種常用BroadcastReceiver
開機廣播
可在此廣播中做開機自啟動服務
public class BootBroadcasrReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("CDH", "開機廣播");
}
}
<receiver android:name=".BootBroadcasrReceiver" >
<span style="white-space:pre"> </span><intent-filter>
<span style="white-space:pre"> </span><!-- 接受系統開機廣播 -->
<span style="white-space:pre"> </span><action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME"/>
<span style="white-space:pre"> </span></intent-filter>
</receiver>
<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">需要新增許可權</span>
<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; "><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/></span><div>
</div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">應用增加廣播</span>
</div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">
</span></div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">/**
* 1.安裝其他應用時會收到廣播,但安裝本應用時不會收到廣播
* 2.重新安裝其他應用時會收到廣播,但重新安裝本應用時不會收到廣播
*/
public class PackageAddedBroadcastReceiver extends BroadcastReceiver {
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public void onReceive(Context context, Intent intent) {
<span style="white-space:pre"> </span>Log.i("CDH", "應用增加廣播");
<span style="white-space:pre"> </span>Log.i("CDH", "包名:"+intent.getDataString());
<span style="white-space:pre"> </span>Log.i("CDH", "使用者ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
<span style="white-space:pre"> </span>Log.i("CDH", "重新安裝應用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
<span style="white-space:pre"> </span>}
}
</span></div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">
</span></div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; "><receiver android:name=".PackageAddedBroadcastReceiver">
<span style="white-space:pre"> </span><intent-filter>
<span style="white-space:pre"> </span><action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
<span style="white-space:pre"> </span></intent-filter>
</receiver>
</span></div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">
</span></div><div><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">
</span></div>
應用解除安裝廣播
* 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.其他應用重新安裝
收到解除安裝廣播 --> 應用增加廣播 --> 重新安裝廣播
相關文章
- Markdown常用的幾種語法
- 常用的jQuery事件有幾種?jQuery事件
- 幾種常用的排序程式碼排序
- 建樹的幾種常用方法
- 幾種常用的排序演算法排序演算法
- sqlplus常用的幾種登入方式SQL
- iframe跨域的幾種常用方法跨域
- Python教程: 反射及常用的幾種方法Python反射
- C# Modbus協議 幾種常用格式C#協議
- 提供介面的幾種常用方式 (二,BeeGo)Go
- Linux埠轉發的幾種常用方法Linux
- Java幾種常用JSON庫效能比較JavaJSON
- 幾種常用程式語言的區別
- Java中幾種常用的RPC框架介紹JavaRPC框架
- 常用的幾種大資料架構剖析大資料架構
- iOS 開發中 runtime 常用的幾種方法iOS
- 正規表示式最常用的幾種情形
- 幾種常用設計模式的簡單示例設計模式
- 簡述幾種常用的排序演算法排序演算法
- Android之BroadcastReceiverAndroidAST
- JS常用判斷空對像的幾種方法JS
- vue3 常用的幾種元件通訊方式Vue元件
- 說一下幾種常用的前端快取前端快取
- 簡單介紹redis加鎖常用幾種方式Redis
- 這些appium常用元素定位技巧,你掌握了幾種?APP
- 關於python單例的常用幾種實現方法Python單例
- app直播原始碼,android中幾種常用的彈框APP原始碼Android
- Flutter工具:Dart中幾種常用的Json轉Object方式FlutterDartJSONObject
- 幾種常用的排序演算法之JavaScript實現排序演算法JavaScript
- linux中後臺執行程式常用的幾種方法Linux行程
- 很全!淺談幾種常用負載均衡架構負載架構
- 外貿找客戶郵箱常用的幾種方法
- 網路安全中常用的幾種加密方式都有哪些?加密
- 程式開發中常用的10種演算法,你用過幾種?演算法
- 幾種集合的幾種方法
- Android BroadcastReceiver(廣播)AndroidAST
- Android - BroadcastReceiver 廣播AndroidAST
- [譯] 降維技術中常用的幾種降維方法
- 直播系統程式碼,android中幾種常用的彈框Android