1

何が起こっているのかよくわかりませんが、なんらかの理由で、MAIN と LAUNCHER の意図を入れたにもかかわらず、起動時に SplashActivity が作成されません。これが私のマニフェストです:

    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <activity
        android:name=".SplashActivity"
        android:label="@string/title_activity_main"
        android:theme="@style/Theme.Splash" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".MainActivity"
        android:label="whatever" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

</application>

2 番目のアクティビティを削除すると、SplashActivity が起動されます。しかし、なんらかの理由で MainActivity が含まれていると、Splash が無視されます。アクティビティ名を MainActivity にすると、Launcher アクティビティに設定した内容が上書きされる可能性はありますか?

アップデート:

この質問を投稿する前に私がすでに試したことを誰もが提案しているようですので、より多くの人が同じ提案を投稿する前に、今言及する方が良いと思います:)

残念ながら、MainActivity のインテントを削除すると、コンソール出力で次のようになります。

[2012-10-11 22:58:44 - テスト] ------------------------------
[2012-10-11 22:58:44 - テスト] Android ローンチ!
[2012-10-11 22:58:44 - テスト] adb は正常に動作しています。
[2012-10-11 22:58:44 - テスト] com.test.test.MainActivity アクティビティの起動の実行
[2012-10-11 22:58:44 - テスト] 自動ターゲット モード: デバイス '9a03c386' を使用
[2012-10-11 22:58:45 - テスト] アプリケーションは既に展開されています。再インストールする必要はありません。
[2012-10-11 22:58:45 - テスト] デバイス 9a03c386 でアクティビティ com.test.test.MainActivity を開始しています
[2012-10-11 22:58:45 - テスト] ActivityManager: 開始: インテント { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.test.test/.MainActivity }
[2012-10-11 22:58:45 - テスト] ActivityManager: java.lang.SecurityException: Permission Denial: Intent の開始 { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg= 0x10000000 cmp=com.test.test/.MainActivity } from null (pid=12510, uid=2000) が uid 10132 からエクスポートされない
[2012-10-11 22:58:45 - テスト] ActivityManager: android.os.Parcel.readException (Parcel.java:1327) で
[2012-10-11 22:58:45 - テスト] ActivityManager: android.os.Parcel.readException (Parcel.java:1281) で
[2012-10-11 22:58:45 - テスト] ActivityManager: android.app.ActivityManagerProxy.startActivity (ActivityManagerNative.java:1728) で
[2012-10-11 22:58:45 - テスト] ActivityManager: com.android.commands.am.Am.runStart(Am.java:433)
[2012-10-11 22:58:45 - テスト] ActivityManager: com.android.commands.am.Am.run (Am.java:107) で
[2012-10-11 22:58:45 - テスト] ActivityManager: com.android.commands.am.Am.main (Am.java:80) で
[2012-10-11 22:58:45 - テスト] ActivityManager: com.android.internal.os.RuntimeInit.finishInit (ネイティブ メソッド) で
[2012-10-11 22:58:45 - テスト] ActivityManager: com.android.internal.os.RuntimeInit.main(RuntimeInit.java:263) で
[2012-10-11 22:58:45 - テスト] ActivityManager: dalvik.system.NativeStart.main (ネイティブ メソッド) で

意味はわかりませんが、何らかのエラーだと思います。

4

3 に答える 3

0

これを試して

<activity
    android:name=".SplashActivity"
    android:label="@string/title_activity_main"
    android:theme="@style/Theme.Splash" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity
    android:name=".MainActivity"
    android:label="whatever" >

</activity>

于 2012-10-12T05:59:45.510 に答える
0

セクション

<intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

アプリケーションの開始時にどのアクティビティを開始するかをAndroidに知らせるために使用されます.両方のアクティビティ内に記述したため、Androidは2番目のアクティビティを開始アクティビティとして使用します..MainActivityブロックからその行を削除します..

<activity
    android:name=".SplashActivity"
    android:label="@string/title_activity_main"
    android:theme="@style/Theme.Splash" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity
    android:name=".MainActivity"
    android:label="whatever" >
</activity>

OPの編集を見た後

これを見たことがありますか?また、AndroidManifest.xml ファイルを変更した後、一度アプリを削除して再インストールしてください。

于 2012-10-12T05:59:47.463 に答える
0

これを試して :

    <activity 
        android:name="SplashScreen"
        android:theme="@style/Theme.Transparent"    
        android:screenOrientation="landscape"       
    >
        <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <category android:name="android.intent.category.LAUNCHER"></category>
        </intent-filter>
    </activity>

そして私にレビューをください......................

于 2012-10-12T06:18:49.703 に答える