首页 > 解决方案 > 删除应用程序时未调用 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");

    }
}

所以我想在应用程序从设备中删除但不工作时通知

标签: javaandroid

解决方案


你不能android.intent.action.PACKAGE_FULLY_REMOVED/android.intent.action.PACKAGE_REMOVED在你的所有包上收听,因为BroadcastReceiver当你的包被删除时你自己的包被删除了。


推荐阅读