【Android】java.lang.SecurityException: Permission Denial: starting Intent 应用启动失败异常

异常提示

在Eclipse和Android Studio同时使用的时候,我遇到过这样一个异常,具体错误提示如下:

ava.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.xxx.xxx/.activity.SplashActivity } from null (pid=00000, uid=0000) not exported from uid 00000
ActivityManager: at android.os.Parcel.readException(Parcel.java:1425)
ActivityManager: at android.os.Parcel.readException(Parcel.java:1379)
ActivityManager: at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:1965)
ActivityManager: at com.android.commands.am.Am.runStart(Am.java:494)
ActivityManager: at com.android.commands.am.Am.run(Am.java:109)
ActivityManager: at com.android.commands.am.Am.main(Am.java:82)
ActivityManager: at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
ActivityManager: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
ActivityManager: at dalvik.system.NativeStart.main(Native Method)

错误原因

根据异常提示和搜索得知,这个错误是由启动页SplashActivity导致的,然后我检查了一下SplashActivity的代码和AndroidManifest.xml,但是并没有发现错误,后来我发现同一个项目在Android Studio中运行正常,但是在Eclipse中却报出了此异常,于是我又重点检查了一下Eclipse IDE下的SplashActivity和AndroidManifest.xml,这才发现确实有一点不一样,我项目的AndroridManifest.xml中启动页面设置是这样的:

<activity
            android:name=".activity.SplashActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustPan" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />-->

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

< action android:name=”android.intent.action.MAIN” />后面多了 “–>” 这样一个后缀,就是因为这样一个后缀,导致我的项目在Eclipse中进行编译的时候把< action android:name=”android.intent.action.MAIN” />给注销了,然后我的应用就无法使用了,但是在Android Studio,后半部分的注释符号却被IDE所忽略,可以正常编译。

出现这种情况可能是我单独给< action android:name=”android.intent.action.MAIN” />注释过一次,但是取消的时候只是手动删除了注释符号的上半部分,忘了下半部分。

最后,我将AndroidManifest.xml中的”–>”删除即可在Eclipse中正常编译,看来,同一个项目组还是最好使用同一种IDE比较好,否则因为Android Studio和Eclipse的IDE差异,可能会出现一些预想不到的错误。当然,我肯定是推荐Android Studio的!

参考链接

http://www.verydemo.com/demo_c131_i71738.html

时间: 2024-10-13 21:21:57

【Android】java.lang.SecurityException: Permission Denial: starting Intent 应用启动失败异常的相关文章

Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.HEADSET_PLUG

crash information:Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.HEADSET_PLUG from    at android.os.Parcel.readException(Parcel.java:1465)     at android.os.Parcel.readException(Parcel.j

Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://...

在as中创建cordova中添加从相册选取照片的插件 $cordovaImagePicker 就是以上这货,调用后直接程序就崩溃了,并报错 Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://... 添加权限 <uses-permission android:name="android.permis

java.lang.SecurityException: Permission Denial: opening provider

在测试调用外部提供的ContentProvider时候报一下错误: java.lang.SecurityException: Permission Denial: opening provider com.example.onehw.BookProvider from ProcessRecord{b2f1b230 8449:com.example.adtest/u0a53} (pid=8449, uid=10053) that is not exported from uid 10052 at

访问不了自己创建的Contentprovider,报错:java.lang.SecurityException: Permission Denial

情景:1.A,B两个程序,A程序提供ContentProvider:B程序访问A程序的ContendProvider 2.在A程序中已经添加权限: <provider android:name=".provider.UserProvider" android:authorities="com.example.listview.userprovider"></provider> 问题:A程序部署后,再运行B程序,报错: 03-11 21:48:

ContentProvider异常:Caused by: java.lang.SecurityException: Permission Denial

在使用ContentProvider时抛出异常:Caused by: java.lang.SecurityException: Permission Denial 原因:在Provider的 Manifest文件中 对provider的属性描述时 没有 加入 属性 android:exported="true" android:exported属性非常重要.这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互.如果设置为true,则能够被调用或交互,否则不能.

Android:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法

今天想调试多个task中栈的情况,在测试程序中调用另一个程序的activity, 代码片段如下: [java] view plaincopy btnStartX=(Button)findViewById(R.id.btnStartX); btnStartX.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stu

AIDL 发生异常的原因 Android java.lang.SecurityException: Binder invocation to an incorrect interface

我建立了两个project.一个是activity 的 ,一个是service 的. 在进行两个project通信时,应该有以下几点注意: 1.在activity project中引入service project中aidl文件.注意引入后的aidl文件包名应该和service中aidl文件包名保持一致. 2.service project中manifest文件中,service 注册时要声明 android:process=":remote" action应该是aidl中接口的包名.

Android:Apk插件出现Permission Denial: starting Intent错

Android跳转插件时出现Permission Denial错误主要错误是:在入口Activity中没有添加<action android:name="android.intent.action.MAIN" />. <activity android:name="Activity">     <intent-filter>         <action android:name="android.intent.

记录一个调了半天的问题:java.lang.SecurityException: Permission denied (missing INTERNET permission?)

Move the <uses-permission> elements outside of <application>. They need to be immediate children of the root <manifest> element. 不然就会出现crush! 不用申请权限,改个位置即可.