android-discuss
android-discuss copied to clipboard
[问答] 华为手机应用图标消失
童鞋们,有遇到过华为手机上应用的桌面图标突然消失的情况吗?
设备:HUAWEI-P20、HUAWEI-P20 pro、麦芒 系统版本:EMUI 8.x (Android 8.x)
在以上三个设备上出现了安装应用后,一段时间后(几个小时、一天、几天等),偶尔出现应用的图标消失了的情况。其实应用是还在手机上的,但是在华为桌面上无法找到启动的图标。只能从 "设置" -> "应用管理" 里面把应用删除了重新安装。
这个问题是出现在用户的设备上,没有任何的异常日志上报,我们用了相同的 EMUI 测试机也无法重现这个问题。网上搜的回答一部分说的是华为手机的隐藏应用的功能,另外一部分说是华为桌面的缓存问题。但是按照这两个问题的解决方案去操作了,都无法将消失的图标显示出来,可以排除不是应用被隐藏了,也不是桌面缓存数据导致图标消失的。
实在想不明白,会有什么因素会导致图标消失的呢?
你这个有点神奇,我是安装debug和release的包会导致图标不见,可通过清除桌面缓存解决,期待更好的回复
手机重启应该就好了
问题已经解决了,修改了一下 scheme 配置。
修改前:
<activity
android:name=".SplashActivity"
android:alwaysRetainTaskState="true"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="file" android:mimeType="application/*" />
</intent-filter>
</activity>
修改后
<activity
android:name=".SplashActivity"
android:alwaysRetainTaskState="true"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="file" android:host="*" android:mimeType="*/*"/>
<data android:pathPattern=".*\\.pdf"/>
<data android:pathPattern=".*\\.doc"/>
<data android:pathPattern=".*\\.docx"/>
<data android:pathPattern=".*\\.xls"/>
<data android:pathPattern=".*\\.xlsx"/>
<data android:pathPattern=".*\\.ppt"/>
<data android:pathPattern=".*\\.pptx"/>
<data android:pathPattern=".*\\.jpg"/>
<data android:pathPattern=".*\\.jpeg"/>
<data android:pathPattern=".*\\.png"/>
<data android:pathPattern=".*\\.bmp"/>
<data android:pathPattern=".*\\.webp"/>
</intent-filter>
</activity>
@hzwplus 你好 我试过了将android.intent.action.VIEW相关的配置都去掉 依然没有解决问题。可以分享一下你的其他一些配置吗,比如targetversion minversion 以及 gradle的版本等
@xybean
compileSdkVersion 27
buildToolsVersion '26.0.2'
minSdkVersion 19
targetSdkVersion 23
gradle :4.6.0
@hzwplus 试了一下,还是不行,请问你还可以提供与这个问题相关的其他思路吗?
@xybean 你也可以尝试联系华为的技术支持,他们可以提供帮助的,虽然回复有点慢。我的问题就是启动 activity 的 scheme 的配置问题,还真想不到其他的思路了。
微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题,华为的技术支持在哪
@xybean 你也可以尝试联系华为的技术支持,他们可以提供帮助的,虽然回复有点慢。我的问题就是启动 activity 的 scheme 的配置问题,还真想不到其他的思路了。
微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题,华为的技术支持在哪
@hzwplus 微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题
@givemeatry 如果你们的App中有配置<data android:mimeType="application/*"/>的话,可以先尝试去掉这一配置测试下。 在华为的手机上是无法配置application相关的通配符的。
遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中
我的是微信打开 scheme协议问题 显示不出应用图标,你这种情况我好像还没有
---原始邮件--- 发件人: "ljuns"[email protected] 发送时间: 2019年7月3日(星期三) 下午5:11 收件人: "android-cn/android-discuss"[email protected]; 抄送: "Mention"[email protected];"givemeatry"[email protected]; 主题: Re: [android-cn/android-discuss] [问答] 华为手机应用图标消失 (#726)
遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中
我也遇到了这个请问, 请问你找到解决办法了么?
试试自适应图标?
我的是微信打开 scheme协议问题 显示不出应用图标,你这种情况我好像还没有 … ---原始邮件--- 发件人: "ljuns"[email protected] 发送时间: 2019年7月3日(星期三) 下午5:11 收件人: "android-cn/android-discuss"[email protected]; 抄送: "Mention"[email protected];"givemeatry"[email protected]; 主题: Re: [android-cn/android-discuss] [问答] 华为手机应用图标消失 (#726) 遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
我通过这个方式解决了, 我们之前launcher在drawable里面,替换了mipmap,就好了
其实还是需要适配“Android桌面快捷方式”, 待完全解决后,提出解决方案。 目前已找到明确复现路径和步骤
我来提供一种场景,希望对一些问题有帮助:
应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release或debug 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。
此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。
我来提供一种场景,希望对一些问题有帮助:
应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。
此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。
是的, 我的必现路径也是这样的
我来提供一种场景,希望对一些问题有帮助:
应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release或debug 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。
此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。
这样场景的确存在这个问题 通过adb shell pm enable com.huawei.android.launcher 可以刷新桌面