java.lang.SecurityException - 不允许启动活动Intent {flg = 0x4000000 cmp = [MY_ACTIVITY](有额外的)}

时间:2014-07-04 17:41:54

标签: android android-intent android-securityexception

启动活动时出现以下异常。

java.lang.SecurityException-Not allowed to start activity Intent { flg=0x4000000 cmp=[MY_ACTIVITY] (has extras)}-
[android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1696),
android.app.Instrumentation.execStartActivity(Instrumentation.java:1488),
android.app.Activity.startActivityForResult(Activity.java:3401),
android.app.Activity.startActivityForResult(Activity.java:3357),
android.app.Activity.startActivity(Activity.java:3597),
android.app.Activity.startActivity(Activity.java:3565), ...]

代码非常紧张。 创建Intent,确保使用getPackageManager()。queryIntentActivities有活动按此意图过滤并执行startActivity(intent) 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

查看源代码。我们可以发现异常的根本原因是ActivityManager.START_PERMISSION_DENIED

            case ActivityManager.START_PERMISSION_DENIED:
            throw new SecurityException("Not allowed to start activity "
                    + intent);

因此,当另一个进程想要在您的应用程序中执行某些只能在内部访问的组件时,这将导致此异常。换句话说,调用者进程没有在组件的android:permission属性中声明的权限,或者android:exported属性设置为false。