Android:改变启动器活动的正确方法(完全阅读)

时间:2015-03-02 08:27:57

标签: android android-activity default launcher

我面临以下问题。我有一个已建立用户群的应用程序,我想更改应用程序的默认启动器活动。

问题仅发生在通过Google Play更新应用的部分用户身上。通过Android Studio运行时不会出现问题。

问题在手机上的一些用户的发射器上发挥作用。在他们更新应用程序后,当他们尝试从主屏幕打开应用程序时,某些用户会收到“未安装错误应用程序”或“活动不存在”错误。

似乎在某些用户的设备上,操作系统启动程序会添加有关活动名称的其他信息,这会在更新应用程序后出现问题。

为了避免上述问题,更改启动器活动的正确方法是什么?这是一个很大的问题,因为许多非技术用户只是卸载了应用程序。

  • 以前.TabHostActivity设置为Launcher / Main

  • 将.SplashActivity作为Launcher / Main制作并将更新推广到Google Play后,一些用户在从主屏幕打开快捷方式时开始收到“App not installed”错误。如果他们通过App Drawer打开它仍然有效,但主屏幕上的快捷方式会出现此错误。

代码:

    <activity android:name=".SplashActivity" android:screenOrientation="portrait" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".TabHostActivity" android:configChanges="keyboardHidden|orientation|screenSize">
    </activity>

1 个答案:

答案 0 :(得分:1)

  1. 再次制作TabHostActivity Launcher活动。
  2. 首先检查TabHostActivity是否已从SplashActivity中打开(您可以在从SplashActivity启动TabHostActivity并在TabHostActivity中检查相同的标志时在intent中添加标记)
  3. 如果尚未从SplashActivity打开TabHostActivity,则重定向到SplashActivity。
  4. 上述所有内容应在TabHostActivity的OnCreate中的任何其他代码之前编码。