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