好吧,我搜索了很多,但我没有找到如何导出 Activity 的准确答案,因此应用可以使用 startActivityforResult
启动它。
我该如何实现?我是否必须以某些方式更改 list ?
最佳答案
作为 Dalmas 答案的替代方案,您实际上可以导出 Activity
无需创建 <intent-filter>
(伴随着提出自定义操作的麻烦)。
在Manifest
编辑你的 Activity
像这样标记:
<activity
android:name=".SomeActivity"
....
android:exported="true" />
重要的部分是 android:exported="true"
,这个 export
标签确定“Activity 是否可以由其他应用程序的组件启动”。如果你的<activity>
包含 <intent-filter>
然后这个标签设置为true
自动,如果没有则设置为 false
默认情况下。
然后启动 Activity
这样做:
Intent i = new Intent();
i.setComponent(new ComponentName("package name", "fully-qualified name of activity"));
startActivity(i);
当然,使用此方法您需要知道您尝试启动的 Activity 的确切名称。
关于android - 如何导出 Activity 以便其他应用可以调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8150003/