java - 删除应用程序时未调用 onReceive 方法,并且我以正确的方式编写代码
问题描述
我添加android.intent.action.PACKAGE_FULLY_REMOVED作为动作,这是我的接收器
<receiver android:name=".MyBroadcastReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
和我的 MyBroadcastReceiver 这里
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"app Removed",Toast.LENGTH_LONG).show();
Log.e("MyBroadcastReceiver","app Removed");
}
}
所以我想在应用程序从设备中删除但不工作时通知
解决方案
你不能android.intent.action.PACKAGE_FULLY_REMOVED/android.intent.action.PACKAGE_REMOVED
在你的所有包上收听,因为BroadcastReceiver
当你的包被删除时你自己的包被删除了。
推荐阅读
- ruby-on-rails - 升级到 rails 5.2 后如何获取 rails master.key
- javascript - 我该如何修复引导轮播?
- node.js - 如何强制.d.ts模块加载
- vue.js - Vuex 的底层会发生什么?某些修改会破坏核心功能吗?
- python - 如何关闭已经显示的图像并显示另一个?
- google-app-engine - 如何在循环中为顺序异步 Objectify save() 操作实现屏障
- reactjs - 如何在视图之外的任何其他功能中使用 api 响应数据?
- csv - 将 CSV 读入数组
- c# - 如何在 C# 中从 Google Cloud Vision 设置 GOOGLE_APPLICATION_CREDENTIALS?
- java - java - 如何通过节点在java列表中的位置获取节点?(不是值,整个节点)