在其他应用中启动另一个 Activity 时需要帮助修复权限错误

Posted

技术标签:

【中文标题】在其他应用中启动另一个 Activity 时需要帮助修复权限错误【英文标题】:Need help fixing a permission error when launching another Activity in a differnt app 【发布时间】:2011-09-30 11:36:29 【问题描述】:

好的,这两个应用程序都是我的,所以我可以更改任何一个应用程序中的代码。目前 App B 没有经过任何修改,只是一个普通的独立应用程序。

应用 A 使用以下代码调用应用 B:

意图意图=新意图(意图.ACTION_MAIN); intent.setComponent(new ComponentName("net.pawworks.NurseTorando","net.pawworks.NurseTorando.lung")); 意图.setFlags(意图.FLAG_ACTIVITY_NEW_TASK); 开始活动(意图);

我确实在 ActivityNotFoundException 的 catch 块中得到它并处理它。 但是当该异常没有发生时,我会收到此权限被拒绝错误

net.pawworks.NurseTorando 应用程序中有一个名为肺的活动,如果您单独启动它,它不会首先出现。但这是我希望从应用 A 调用时开始使用的那个。

这是我得到的错误: 07-07 08:47:47.624: ERROR/androidRuntime(11129): java.lang.SecurityException: Permission Denial: start Intent act=android.intent.action.MAIN flg=0x10000000 cmp=net.pawworks.NurseTorando/.lung 来自 ProcessRecord484bc180 11129:net.pawworks.emergency/10123 (pid=11129, uid=10123) 需要 null

我可以修改第二个应用程序,但我仍然希望它在单独启动时在不同的屏幕上启动。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

在 AndroidManifest.xml 中的 Activity 标记(您正在启动的那个)下的清单文件中添加以下意图过滤器:

或者检查您的清单文件中是否有该活动的两个条目。

您可以在此处引用相同的帖子: Android: java.lang.SecurityException: Permission Denial: start Intent

HelloWebView Sample: java.lang.SecurityException: Permission Denial

【讨论】:

【参考方案2】:

我不确定我是否完全理解问题所在,但您是否尝试过编辑 AndroidManifest.xml 文件以赋予您的应用程序运行所需的适当权限?在 Android 上,您需要获得许可才能做的事情有很多,而这正是实现这一点的地方。

【讨论】:

以上是关于在其他应用中启动另一个 Activity 时需要帮助修复权限错误的主要内容,如果未能解决你的问题,请参考以下文章

1.4 启动另一个 Activity

Android-bindService远程服务启动其他应用的Activity

3. 管理 Activity 生命周期

用户返回活动时 Videoview 未启动

如何在 Android 中从另一个应用程序启动 Activity

区分从主屏幕启动的 Activity 或从 App 启动的另一个 Activity