在我的代码中,我通过代码调用应用程序卸载意图:
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 !!
答案 0 :(得分:1)
实际上调用卸载Intent的活动在清单中注册了
android:launchMode="singleInstance"
这就是问题发生的原因,但任何人都可以解释为什么会这样。
如果它想阻止另一个实例,为什么只有第二次调用的Intent创建了也不应该创建的实例?
答案 1 :(得分:1)
您必须设置意图
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);