为了账号安全,请及时绑定邮箱和手机立即绑定

Android-java.lang.SecurityException:权限拒绝:启动Intent

Android-java.lang.SecurityException:权限拒绝:启动Intent

九州编程 2019-10-11 15:01:46
我在项目的构建路径上有一个库(jar)。该项目使用以下意图访问jar中的MainActivity:final Intent it = new Intent();it.setClassName("com.example.lib", "com.example.lib.MainActivity");startActivity(it);它曾经工作了一段时间,但是突然开始得到我能够解决的“ ActivityNotFoundException:找不到活动来处理Intent”。但是现在我陷入了“ java.lang.SecurityException:权限拒绝:启动意图”的困境。我已经尝试了所有关于stackoverflow的建议(检查清单文件中的重复项;将android:exported =“ true”添加到lib清单; Eclipse> Project> Clean;添加/修改“ intent-filter”标签;等等)。我什至尝试重写项目清单,但是没有去做任何事情。项目的清单XML:<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.project"android:versionCode="4"android:versionName="4.0" ><!-- Permissions --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.INTERNET" /><supports-screens android:anyDensity="true" /><!-- SDK Settings --><uses-sdk    android:minSdkVersion="11"    android:targetSdkVersion="18" /><!-- APP Start --><application    android:allowBackup="true"    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" ><!-- App Activity -->    <activity        android:name="com.example.project.MainActivity"        android:label="@string/app_name"        android:screenOrientation="portrait" >        <intent-filter>            <action android:name="android.intent.action.MAIN" />            <category android:name="android.intent.category.LAUNCHER" />        </intent-filter>    </activity><!-- Library Activity -->    <activity android:name="com.example.lib.MainActivity" android:label="LibMain">         <intent-filter>        <action android:name="android.intent.action.MAIN"></action>     </intent-filter>    </activity></application><!-- END - APP --></manifest>我在俯视什么?有什么建议么?编辑我使用其他所有活动更新了manifest.xml,并以某种方式解决了该问题。意向活动启动时没有任何错误。但是,仅在AVD上。在实际设备上,它仍然会抛出相同的错误。我已经从设备上完全卸载了该应用程序,然后重新安装,但是仍然出现相同的错误。
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

例外很明显。您需要android:exported="true"在AndroidManifest.xml文件中设置声明this的位置Activity。


编辑


<activity

    android:name="com.example.lib.MainActivity"

    android:label="LibMain" 

    android:exported="true">

    <intent-filter>

        <action android:name="android.intent.action.MAIN" >

        </action>

    </intent-filter>

</activity>


查看完整回答
反对 回复 2019-10-11
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

这仅适用于android studio

所以我最近遇到了这个问题。问题出在构建/运行配置中。显然,android studio在我的项目中选择了一个活动作为启动活动,因此无视清单文件中的选择。

单击运行按钮左侧的模块名称,然后单击“编辑配置...”,现在确保已选择“启动默认活动”。

发生此错误时,有趣的是,我仍然可以从设备启动应用程序,并且它以首选的Activity开始。但是从IDE启动似乎是不可能的。


查看完整回答
反对 回复 2019-10-11
  • 3 回答
  • 0 关注
  • 1497 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信