是否必须使用 "addFlags" 才能显式启动其他应用程序的组件?
Is it mandatory to use "addFlags" in order to launch other app's component explicitly?
使用我的 Android 应用程序,我正在尝试显式启动外部应用程序的组件。
ComponentName name = new ComponentName("other.app.android", "other.app.android.Activity1");
Uri uri = Uri.parse("http://127.0.0.1:8111");
Intent abc = new Intent();
abc.setData(uri);
abc.setComponent(name);
startActivity(abc);
我应该添加这两行以使其 运行 正确吗?
(1) abc.addCategory("android.intent.category.DEFAULT");
(2) abc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Should I add these two lines in order to make it run correctly?
"run correctly" 是一个解释问题。你需要决定你想要什么!
(1) abc.addCategory("android.intent.category.DEFAULT");
这不是必须的。当您调用 startActivity()
.
时,DEFAULT 类别会自动添加到隐式搜索条件中
(2) abc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
如果您希望目标 Activity
在新任务中启动(即:不在现有任务中),则可以添加此项。如果您不添加此标志,目标 Activity
将在当前任务中启动。这取决于您想要的行为。
使用我的 Android 应用程序,我正在尝试显式启动外部应用程序的组件。
ComponentName name = new ComponentName("other.app.android", "other.app.android.Activity1");
Uri uri = Uri.parse("http://127.0.0.1:8111");
Intent abc = new Intent();
abc.setData(uri);
abc.setComponent(name);
startActivity(abc);
我应该添加这两行以使其 运行 正确吗?
(1) abc.addCategory("android.intent.category.DEFAULT");
(2) abc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Should I add these two lines in order to make it run correctly?
"run correctly" 是一个解释问题。你需要决定你想要什么!
(1) abc.addCategory("android.intent.category.DEFAULT");
这不是必须的。当您调用 startActivity()
.
(2) abc.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
如果您希望目标 Activity
在新任务中启动(即:不在现有任务中),则可以添加此项。如果您不添加此标志,目标 Activity
将在当前任务中启动。这取决于您想要的行为。