首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Exception]之 starting Intent 应用启动失败异常

[Exception]之 starting Intent 应用启动失败异常

作者头像
项勇
发布2018-06-19 15:02:49
1.3K0
发布2018-06-19 15:02:49
举报
文章被收录于专栏:项勇项勇

地址

GitHub 地址:http://blog.csdn.net/zhufuing/article/details/50111011

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

目录

  • 报错打印
  • 原因分析
  • 参考方案

#报错打印

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的!


#参考方案

GitHub 地址:http://www.verydemo.com/demo_c131_i71738.htm

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 项勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 地址
  • 目录
    • #报错打印
      • #原因分析
        • #参考方案
          • GitHub 地址:http://www.verydemo.com/demo_c131_i71738.htm
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档