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"/>

当初、ランチャーアクティビティはメインと呼ばれるアクティビティでした。次に、MainActivityという新しいアクティビティを作成し、それをランチャークラスにしました。

4

4 に答える 4

7

ジョミアが述べたように

表示されているのjava.lang.SecurityExceptionは、同じアクティビティを指す 2 つのエントリを入力する可能性があるためです。2 番目のものを削除すると、準備完了です。

最後に、マニフェストで Main アクティビティを MainActivity に変更した後、デバイスで実行する前に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

多くの場合、コンポーネントがエクスポートされないという意味でnullが必要です。SecurityExceptionあなたの問題ではないかもしれない可能性があります。<intent-filter>タグがある場合、アクティビティは自動的にエクスポートされます。私はお勧め

  • プロジェクトをクリーンアップする
  • 建てる
  • デバイスからアプリを完全にアンインストールします
  • 再インストール
于 2012-06-15T18:41:00.853 に答える
0

GIT を使用している場合:
リポジトリ フォルダー全体を削除し、git サーバーと再同期します。

于 2015-10-16T10:31:23.650 に答える