场景:
当我们在别的应用内调用你某个程序的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>