对于演示应用,我正在使用自定义Android主屏幕。 主屏幕需要有2种变体,因为它将安装在不同的DEMO设备上。 我不想创建多个APK安装,只是重复使用相同的apk。
我的AndroidManifest.xml定义了2个主屏幕活动:
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<activity android:name=".Homescreen_"
android:label="@string/app_name"
android:screenOrientation="landscape"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".map.HomescreenMap_"
android:label="@string/app_name_map"
android:screenOrientation="landscape"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
所以问题是当我在设备上按Home并选择其他的hoomescreen时,它不会改变VIEW。但是,在日志中我可以看到其他主屏幕Activity确实正在启动。
在Android日志中,我可以看到其他主屏幕正在启动:
10-08 12:09:40.014: INFO/ActivityManager(146): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=android/com.android.internal.app.ResolverActivity u=0} from pid 146
10-08 12:09:40.444: INFO/ActivityManager(146): Displayed android/com.android.internal.app.ResolverActivity: +401ms
10-08 12:09:41.824: INFO/ActivityManager(146): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x13200000 cmp=com.company/.map.HomescreenMap_ u=0} from pid 146
但UI不会显示,也不会显示在onStart方法中的任何消息。
一旦我从标准发射器App抽屉打开主屏幕,它就可以正常工作。 这些活动并没有相互继承,我也试过了。