【问题标题】:Receive a broadcast AFTER user click on OK button AFTER uninstall was completed卸载完成后用户单击确定按钮后接收广播
【发布时间】:2013-08-12 01:54:02
【问题描述】:

我把所有的receiver标签都放在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 卸载完成,但 BEFORE 用户在本机系统显示的确认活动中按 OK

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

谢谢!

【问题讨论】:

  • 我认为这不可能。为什么你需要在按下 OK 后这样做?
  • 这是可能的,因为ZDbox在卸载批处理模式下这样做! Google Play 上的应用链接:play.google.com/store/apps/…
  • 这是一个使用root权限的应用。除非你也打算使用 root 权限,否则我建议你假设他们可以做你的应用程序或其他普通应用程序不能做的事情。如果您真的很想知道,可以尝试向开发人员发送电子邮件。

标签: android android-activity broadcastreceiver action uninstallation


【解决方案1】:

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

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

<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,因此在卸载完成后用户在确认视图中单击“确定”按钮后,用户将返回主屏幕视图。

我删除了这个标志,所以我将我的代码放置在卸载完成并由用户在MyActivity 中的onRestart 方法上确认后执行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    相关资源
    最近更新 更多