我不确定发生了什么,但出于某种原因我的SplashActivity并没有在发布时创建,即使我把MAIN和LAUNCHER用于它。这是我的清单:
<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>
如果删除第二个活动,则会启动我的SplashActivity。但由于某些原因,当包含MainActivity时,Splash会被忽略。活动名称是MainActivity是否可以覆盖您为Launcher活动设置的任何内容?
更新
在发布这个问题之前,似乎每个人都在建议我已经尝试过的东西,所以我认为现在在更多人发布相同建议之前我会提及它更好:)
不幸的是,删除MainActivity上的意图导致我的控制台输出中出现以下内容:
[2012-10-11 22:58:44 - Test] ------------------------------ [2012-10-11 22:58:44 - Test] Android Launch! [2012-10-11 22:58:44 - Test] adb is running normally. [2012-10-11 22:58:44 - Test] Performing com.test.test.MainActivity activity launch [2012-10-11 22:58:44 - Test] Automatic Target Mode: using device '9a03c386' [2012-10-11 22:58:45 - Test] Application already deployed. No need to reinstall. [2012-10-11 22:58:45 - Test] Starting activity com.test.test.MainActivity on device 9a03c386 [2012-10-11 22:58:45 - Test] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.test.test/.MainActivity } [2012-10-11 22:58:45 - Test] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.test.test/.MainActivity } from null (pid=12510, uid=2000) not exported from uid 10132 [2012-10-11 22:58:45 - Test] ActivityManager: at android.os.Parcel.readException(Parcel.java:1327) [2012-10-11 22:58:45 - Test] ActivityManager: at android.os.Parcel.readException(Parcel.java:1281) [2012-10-11 22:58:45 - Test] ActivityManager: at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1728) [2012-10-11 22:58:45 - Test] ActivityManager: at com.android.commands.am.Am.runStart(Am.java:433) [2012-10-11 22:58:45 - Test] ActivityManager: at com.android.commands.am.Am.run(Am.java:107) [2012-10-11 22:58:45 - Test] ActivityManager: at com.android.commands.am.Am.main(Am.java:80) [2012-10-11 22:58:45 - Test] ActivityManager: at com.android.internal.os.RuntimeInit.finishInit(Native Method) [2012-10-11 22:58:45 - Test] ActivityManager: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:263) [2012-10-11 22:58:45 - Test] ActivityManager: at dalvik.system.NativeStart.main(Native Method)
不知道这意味着什么,但我必须假设它是某种错误。
答案 0 :(得分: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>
答案 1 :(得分:0)
部分
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
用于让android知道应用程序启动时启动哪个活动。既然你在你的两个活动中都写了它,那么android将第二个作为起始活动。 所以从.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>
你见过this吗?此外,在更改AndroidManifest.xml文件后,删除并重新安装应用程序一次..
答案 2 :(得分: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>
并给我评论...................