gpt4 book ai didi

Android 更新后损坏的快捷方式

转载 作者:行者123 更新时间:2023-11-29 20:52:13 28 4
gpt4 key购买 nike

Launcher/Main activity 在 list 中发生了变化,更新后使用自定义 OS Launcher(即:dodol Launcher)的用户报告他们的快捷方式被破坏并显示消息“App isnt installed”。

这是一个大问题,因为许多人只是困惑地卸载了应用程序。

据我了解,发生的事情是启动器捕获了一些关于快捷方式的额外信息,当它发现与 list 中的启动器 Activity 不匹配时,它认为应用程序不再存在。

这显然是一个自定义启动器问题,但似乎传播范围很广,需要解决这个问题。

我正在尝试将新旧 Activity 都设置为 MAIN/LAUNCHER,看看这是否有任何影响。

有没有其他人遇到过类似的问题,如果有的话,有什么解决这个问题的推荐策略吗?

谢谢。

最佳答案

这是我解决这个问题的方法。我将 LoginActivity 作为主要启动 Activity :

<activity android:name=".activities.LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

我们不得不重做一些逻辑,主要是我们的 MAIN Activity 是如何开始的。我们最终创建了虚拟 LauncherActivity 并将用户带到应用程序内部或 LoginActivity。因此,完成后我们在升级后遇到了完全相同的问题。幸运的是我在发布前捕获了它。 “应用未安装”。

解决方案。使用 activity-alias,进行了一些修改,但我不能 100% 确定我们是否需要重命名 LoginActivity。但我们确实将其重命名为 SignInActivity,这是对我们有用的 list 中的最终配置。

<activity android:name=".activities.LauncherActivity" android:noHistory="true" android:theme="@android:style/Theme.NoDisplay" />

<!-- Don't brake 2.7.2->3.0.0 shortcuts, keep ALIAS for old way to access app -->
<activity-alias android:name=".activities.LoginActivity" android:targetActivity=".activities.LauncherActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity android:name=".activities.SignInActivity" />

点这里 - 我们保留旧签名,但“重新路由”启动器以使用我们新的 LauncherActivity

关于Android 更新后损坏的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28836116/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com