2个主屏幕在一个APK

时间:2012-10-08 04:13:46

标签: android

对于演示应用,我正在使用自定义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抽屉打开主屏幕,它就可以正常工作。 这些活动并没有相互继承,我也试过了。

0 个答案:

没有答案