0

我将所有接收器标签放在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方法在卸载完成调用,但在用户在本机系统显示的确认活动中按OK之前。

我想(如果存在)在用户按下OK接收广播。

谢谢!

4

1 回答 1

0

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

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

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

该标志在被另一个新的停止后从历史记录android:noHistory="true"中删除,因此在卸载完成后用户在确认视图中单击“确定”按钮后,用户返回主屏幕视图。ActivityActivity

我删除了这个标志,所以我将我的代码放置在卸载完成并由用户onRestartMyActivity.

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

于 2013-08-10T15:04:29.207 回答