好的,两个应用程序都是我的,因此我可以在两个应用程序中更改代码。目前,App B尚未进行任何修改,只是一个普通的独立应用。
应用A使用以下代码调用应用B:
意图意图=新意图(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName(“ net.pawworks.NurseTorando”,“ net.pawworks.NurseTorando.lung”));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我确实在ActivityNotFoundException的catch块中得到了它并对其进行处理。
但是当没有发生该异常时,我会收到此权限被拒绝的错误
net.pawworks.NurseTorando应用程序中有一个名为肺的活动,如果您单独启动它,它并不是第一个出现的活动。但这是我希望从应用程序A调用时开始的那个。
这是我得到的错误:
07-07 08:47:47.624:错误/ AndroidRuntime(11129):java.lang.SecurityException:权限拒绝:启动意图{act = android.intent.action.MAIN flg = 0x10000000 cmp = net.pawworks.NurseTorando / .lung }从ProcessRecord {484bc180 11129:net.pawworks.emergency / 10123}(pid = 11129,uid = 10123)需要为空
我可以修改第二个应用程序,但是我仍然希望它在不同的屏幕上启动,然后单独启动。我怎样才能解决这个问题?
最佳答案
在清单文件中的AndroidManifest.xml的“活动”标记(您正在启动的标记)下添加以下意图过滤器:
或检查清单文件中是否有该活动的两个条目。
您可以在此处引用相同的帖子:
Android: java.lang.SecurityException: Permission Denial: start Intent
HelloWebView Sample: java.lang.SecurityException: Permission Denial