我有一个我试图启动的Android应用程序,它给了我错误
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.hoosierag/.MainActivity } from null (pid=32395, uid=2000) not exported from uid 10125
当我尝试更改清单中的启动器活动时出现此错误。当我在模拟器上启动它时,我也没有收到此错误,但是当我尝试在设备上启动它时。我已经在3个不同的Android设备上尝试了它,它三次都给出了同样的错误。这是我的清单代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hoosierag"
android:versionName="1.11" android:versionCode="4">
<uses-sdk android:minSdkVersion="3"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
<activity android:name=".MainActivity" android:screenOrientation="portrait"
android:label="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Main" android:screenOrientation="portrait"/>
<activity android:name="News" android:screenOrientation="portrait"/>
<activity android:name="Audio" android:screenOrientation="portrait"/>
最初,Launcher Activity是名为Main的活动。然后我创建了一个名为MainActivity的新活动,并将其作为启动器类。
答案 0 :(得分:7)
你看到的
java.lang.SecurityException
是因为你可能 输入指向同一活动的两个条目。删除第二个和 你应该好好去。
最后将主要活动更改为清单中的MainActivity清除项目后从 项目 - &gt;清理... ,然后再在设备上运行
答案 1 :(得分:4)
您应尝试使用导出属性在AndroidManifest.xml中标记MainActivity。像这样:
<activity android:exported="true" android:name=".MainActivity" android:screenOrientation="portrait" android:label="MainActivity">
答案 2 :(得分:1)
null
中通常需要SecurityException
表示不导出组件。
有可能不是你的问题。当活动具有<intent-filter>
标记时,会自动导出活动。我推荐
答案 3 :(得分:0)
如果您正在使用GIT:
删除整个存储库文件夹并使用您的git-server重新同步。