在卸载完成后,用户单击“确定”按钮后接收广播

时间:2013-08-10 03:43:57

标签: android android-activity broadcastreceiver action uninstall

我将所有接收器标签放在AndroidManifest.xml

<receiver android:name="my.package.MyBroadcastReceiver" >
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />

        <action android:name="android.intent.action.PACKAGE_REMOVED" />

        <data android:scheme="package" />
    </intent-filter>
</receiver>

并实现了我的BroadcastReceiver子类:

public class MyBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive( final Context context, final Intent intent ) {
        Log.w( "RECEIVED!!!!!!!" );
    }
}

这很好用!但是...... onReceive方法被称为 AFTER 卸载已完成但之前用户在本机系统显示的确认活动中按确定

我想,如果存在,接收广播 AFTER 用户按确定

谢谢!

1 个答案:

答案 0 :(得分:0)

我做了一个解决方法并且到目前为止工作。

活动是调用卸载意图被标记为:

<activity
    android:name="my.package.MyActivity"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    android:noHistory="true"
    android:screenOrientation="portrait" >

标记android:noHistory="true"在被另一个新Activity停止后从历史记录中删除了我的Activity所以在用户在卸载完成后点击确认视图中的“确定”按钮后,用户返回到主屏幕视图。

我删除了此标记,因此我将代码放置在卸载完成后执行,并由用户在onRestart中的MyActivity方法确认。

这是一种解决方法,如果有一种方法可以在完全卸载后获得用户确认我不知道!