另一个包中的新 activity 终止了我的应用程序

New activity in another package kill my app

我正在开始一个新的意图:

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);

但它不起作用。

[解决方案]:

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...
    }

你不能这样做。如果您想使用 startActivityForResult() 开始另一个 Activity,则不能使用 Intent.FLAG_ACTIVITY_NEW_TASK。当启动一个将 return 结果的 Activity 时,目标 Activity 必须 运行 在同一个任务中。

对此您无能为力。