onActivityResult在没有完成调用活动的情况下调用结果

时间:2013-01-07 10:53:58

标签: android android-intent

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

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.是卸载intent的任何Os级别问题或问题.Psese Help !!

2 个答案:

答案 0 :(得分:1)

实际上调用卸载Intent的活动在清单中注册了

    android:launchMode="singleInstance"

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

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

答案 1 :(得分:1)

您必须设置意图

intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);