android - 如何导出 Activity 以便其他应用可以调用它?

标签 android android-activity sharing

好吧,我搜索了很多,但我没有找到如何导出 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/

相关文章:

ios - 从第二个 View Controller ios 将对象添加到我的基本 View Controller 中的 NSMutableArray

ios6 - 使用iOS6 UIActivityViewController附加对象

android - 如何显示 Android 中正在变化的变量?

android - 使用 AccountManager addAccountExplicitly 第一次同步需要很长时间

java - java android应用程序和PHP脚本之间交换数据最安全的方法?

android - 多次按下后停止播放声音

android - 如何终止堆栈中的所有 Activity

android - SherlockFragment 的 Activity

android - 当我们从 Android 的外部应用程序手动更改权限时会发生什么

ios - 在 Swift 中打开图表故事得到全白屏幕