1

我采用了一个旧版应用程序进行完全重写,因此,开始的活动已被重命名。为了应对用户从他们的主屏幕放置了我的应用程序的快捷方式,我添加了一个activity-alias从旧名称指向新名称的指针。

之前:

<activity
    android:name=".SplashScreenActivity"
    android:theme="@style/Theme.Styled.NoAnimation" />

现在:

<activity
    android:name=".activities.StartActivity_"
    android:theme="@style/Theme.Styled.NoAnimation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity-alias
    android:name=".SplashScreenActivity"
    android:exported="true"
    android:targetActivity=".activities.StartActivity_"/>

这适用于我在 2.1 和 4.0 之间测试的各种设备。但是,在 Jelly Bean(4.1 和 4.2)上,我看到默认启动器现在正在删除启动图标。

更糟糕的是,在某些测试中,升级并没有显示任何应用程序,只是在第二次安装时从应用程序列表中显示它。似乎没有韵律或理由;有时应用程序会丢失。

我玩过交换IntentFilter

<activity
    android:name=".activities.StartActivity_"
    android:theme="@style/Theme.Styled.NoAnimation" />
<activity-alias
    android:name=".SplashScreenActivity"
    android:exported="true"
    android:targetActivity=".activities.StartActivity_" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity-alias>

亚行似乎不太喜欢这样:

未找到启动器活动!
启动只会同步设备上的应用程序包!

为了完整起见:在IntentFilter两个活动名称中添加 会保留主屏幕快捷方式,但会在应用程序列表中显示两个应用程序。

如何迁移并让所有用户满意?

4

2 回答 2

2

在 Android 4.2.2 上,将启动器意图过滤器移动到另一个活动或别名会导致所有快捷方式、小部件和系统应用程序列表图标消失。此错误发生在设备和模拟器上。此问题在 Android 4.1.2 中不会发生。我在这里提交了这个错误:

更改启动器活动后,应用启动器快捷方式和小部件消失 https://code.google.com/p/android/issues/detail?id=54720

于 2013-04-26T00:26:03.033 回答
0

它似乎是带有股票启动器的 4.2 模拟器特有的错误。

该应用程序是荷兰市场上非常受欢迎的应用程序。随着更多设备迁移到 Jelly Bean,我将密切关注可能相关的任何问题。

当然,如果有人在野外遇到这种情况,我很想听听。

于 2013-01-05T00:48:37.460 回答