场景:
当我们在别的应用内调用你某个程序的Activity有时候会发生这个错误:
java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.siveco.bluebee.phone.supervisor/com.siveco.bluebee.core.activity.GetServerAddressActivity } from ProcessRecord{412d7170 1644:com.siveco.bluebee.project.productionfeedback/10056} (pid=1644, uid=10056) not exported from uid 10047
此错误源自于以下代码。
if (APPTools.checkAPP(this.getApplicationContext(), BBA_PACKAGENAME)) {
Intent intent = new Intent();
intent.setClassName(BBA_PACKAGENAME, "com.siveco.bluebee.core.activity.GetServerAddressActivity");
startActivityForResult(intent, REQUEST_CODE);
}</span>解决方案:
在Activity中配置属性exported="true"
<activity
android:name="com.siveco.bluebee.core.activity.GetServerAddressActivity"
android:label="@string/title_activity_get_server_address"
android:exported="true" >
</activity>
本文介绍了一种在Android应用程序中遇到的安全异常错误,该错误发生在尝试从一个应用启动另一个应用的Activity时。通过设置Activity的exported属性为true解决了这一问题。
3594

被折叠的 条评论
为什么被折叠?



