3

我有一个我正在尝试启动的 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 设备上尝试过,它都给出了同样的错误 3 次。这是我的清单代码:

<?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 的 Activity。然后我创建了一个名为 MainActivity 的新活动并将其作为启动器类。

4

4 回答 4

7

正如乔米亚所说

您看到的java.lang.SecurityException是因为您可以输入两个指向相同活动的条目。删除第二个,你应该很高兴。

最后在清单中将 Main Activity 更改为 MainActivity 之后 Clean your Project from Project->Clean...在设备上运行之前

于 2012-06-15T18:33:42.337 回答
5

您应该尝试使用导出的属性在 AndroidManifest.xml 中标记 MainActivity。像这样:

<activity android:exported="true" android:name=".MainActivity" android:screenOrientation="portrait" android:label="MainActivity">
于 2014-04-01T19:25:20.060 回答
1

通常,要求nullSecurityException导出组件。有可能不是您的问题。Activity 有<intent-filter>标签时会自动导出。我建议

  • 清理项目
  • 建造
  • 从设备完全卸载应用程序
  • 重新安装
于 2012-06-15T18:41:00.853 回答
0

如果您使用的是 GIT:
删除整个存储库文件夹并将其与您的 git-server 重新同步。

于 2015-10-16T10:31:23.650 回答