"setComponent" 和 "setClassName" 在发送 intent 时有什么区别?
What is difference between "setComponent" and "setClassName" in sending an intent?
从我自己的 Android 应用程序,我正在尝试启动 外部应用程序 的组件显式。
Intent i = new Intent();
Uri uri = Uri.parse("http://0.0.0.1");
i.setData(uri);
i.setComponent(new ComponentName("other.app.android","other.app.android.Activity1"));
startActivity(i);
我可以将 i.setComponent(...)
替换为 i.setClassName("other.app.android", other.app.android.Activity1")
吗?
请告诉我它们之间有什么区别。
是的,你可以做到。在内部 setClassName(String, String)
创建一个 new ComponentName(String, String)
public Intent setClassName(String packageName, String className) {
mComponent = new ComponentName(packageName, className);
return this;
}
从我自己的 Android 应用程序,我正在尝试启动 外部应用程序 的组件显式。
Intent i = new Intent();
Uri uri = Uri.parse("http://0.0.0.1");
i.setData(uri);
i.setComponent(new ComponentName("other.app.android","other.app.android.Activity1"));
startActivity(i);
我可以将 i.setComponent(...)
替换为 i.setClassName("other.app.android", other.app.android.Activity1")
吗?
请告诉我它们之间有什么区别。
是的,你可以做到。在内部 setClassName(String, String)
创建一个 new ComponentName(String, String)
public Intent setClassName(String packageName, String className) {
mComponent = new ComponentName(packageName, className);
return this;
}