场景:
当我们在别的应用内调用你某个程序的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"
<activityandroid:name="com.siveco.bluebee.core.activity.GetServerAddressActivity"android:label="@string/title_activity_get_server_address"android:exported="true" ></activity>