1

在我的代码中,我通过代码调用应用程序卸载意图:

Intent uninstallIntent = new Intent(Intent.ACTION_DELETE);
uninstallIntent.setData(Uri.parse("package:" + packageName));
uninstallIntent.setAction(Intent.ACTION_VIEW);
startActivityForResult(uninstallIntent,DELETE_APP);

在我的活动中,我已经覆盖了 onActivityResult() 方法,但没有对卸载 Intent 采取任何操作,因此该方法是多余的。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    Log.d("", "request Code "+requestCode+" Result Code "+resultCode+"   "+data);

    if(requestCode==DELETE_APP){
       Log.d("Inside"'"Inside Delete Application Result");

}   
}

我怎样才能摆脱它以及为什么会这样。

我在装有 Android 2.2 的 Galaxy S 上对其进行测试。卸载意图是否存在任何操作系统级别问题或问题。请帮助!

4

2 回答 2

1

实际上,调用清单中注册的卸载意图的活动

    android:launchMode="singleInstance"

这就是问题发生的原因,但任何人都可以解释为什么会发生这种情况。

如果想阻止另一个实例,为什么只有第二次调用的 Intent 正在创建也不应该创建的实例?

于 2013-01-08T11:52:33.963 回答
1

您必须设置意图

intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
于 2015-08-28T09:24:09.333 回答