我正在开始一个新意图:
Intent intent = new Intent();
intent.setComponent(new ComponentName("xx.xxxxxx.xxxx", "xx.xxxxxx.xxxx.Activity"));
startActivityForResult(intent, 1);
但有时新的应用程序有一些错误,我必须杀死它们,我必须再次转向它。
我尝试添加:
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK & Intent.FLAG_ACTIVITY_NEW_TASK);
但它不起作用。
[SOLUTION]:
Intent intent = new Intent();
intent.setComponent(new ComponentName("xx.xxxxxx.xxxx", "xx.xxxxxx.xxxx.Activity"));
startActivityForResult(intent, 1);
MainActivity
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK & Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
SecondActivity
Intent intent = new Intent();
intent.setComponent(new ComponentName("xx.xxxxxx.xxxx", "xx.xxxxxx.xxxx.Activity"));
startActivityForResult(intent, 1);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// saveInSharedPreferences...
finish();
}
MainActivity
onResume() {
getWithSharedPreferences...
}
答案 0 :(得分:1)
你不能这样做。如果您想使用Activity
启动另一个startActivityForResult()
,则无法使用Intent.FLAG_ACTIVITY_NEW_TASK
。当启动将返回结果的Activity
时,目标Activity
必须在同一任务中运行。
你无能为力。