好的两个应用程序都是我的,所以我可以在任一应用程序中更改代码。目前,App B尚未进行任何修改,只是一个常规的独立应用程序。
App A使用以下代码调用App B:
Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName(“net.pawworks.NurseTorando”,“net.pawworks.NurseTorando.lung”)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(意向);
我在ActivityNotFoundException的catch块中得到它并处理那个。 但是当该异常没有发生时,我得到一个此权限被拒绝的错误
net.pawworks.NurseTorando应用程序中有一个名为lung的活动,如果你单独启动它,它就不是第一个出现的活动。但是从app 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来自ProcessRecord {484bc180 11129:net.pawworks.emergency / 10123}(pid = 11129,uid = 10123)需要null
我可以修改第二个应用程序,但我还是希望它在不同的屏幕上启动,然后单独启动它。我该如何解决这个问题?
答案 0 :(得分:1)
在AndroidManifest.xml中的Activity标记(您正在启动的标记)下的清单文件中添加以下intent过滤器:
或者检查清单文件中是否有两个该活动的条目。
你可以在这里推荐相同的帖子: Android: java.lang.SecurityException: Permission Denial: start Intent
HelloWebView Sample: java.lang.SecurityException: Permission Denial
答案 1 :(得分:0)
我不确定我是否完全理解问题所在,但您是否尝试过编辑AndroidManifest.xml文件以便为您的应用程序提供运行所需的适当权限?您需要在Android上获得许可才能执行各种操作,这是实现这一目标的地方。