android-discuss icon indicating copy to clipboard operation
android-discuss copied to clipboard

[问答] 华为手机应用图标消失

Open danielzwhe opened this issue 6 years ago • 19 comments

童鞋们,有遇到过华为手机上应用的桌面图标突然消失的情况吗?

设备:HUAWEI-P20、HUAWEI-P20 pro、麦芒 系统版本:EMUI 8.x (Android 8.x)

在以上三个设备上出现了安装应用后,一段时间后(几个小时、一天、几天等),偶尔出现应用的图标消失了的情况。其实应用是还在手机上的,但是在华为桌面上无法找到启动的图标。只能从 "设置" -> "应用管理" 里面把应用删除了重新安装。

这个问题是出现在用户的设备上,没有任何的异常日志上报,我们用了相同的 EMUI 测试机也无法重现这个问题。网上搜的回答一部分说的是华为手机的隐藏应用的功能,另外一部分说是华为桌面的缓存问题。但是按照这两个问题的解决方案去操作了,都无法将消失的图标显示出来,可以排除不是应用被隐藏了,也不是桌面缓存数据导致图标消失的。

实在想不明白,会有什么因素会导致图标消失的呢?

danielzwhe avatar Nov 04 '18 14:11 danielzwhe

你这个有点神奇,我是安装debug和release的包会导致图标不见,可通过清除桌面缓存解决,期待更好的回复

JianYiLead avatar Nov 20 '18 02:11 JianYiLead

手机重启应该就好了

SivanLiu avatar Nov 20 '18 06:11 SivanLiu

问题已经解决了,修改了一下 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>

danielzwhe avatar Nov 30 '18 03:11 danielzwhe

@hzwplus 你好 我试过了将android.intent.action.VIEW相关的配置都去掉 依然没有解决问题。可以分享一下你的其他一些配置吗,比如targetversion minversion 以及 gradle的版本等

xybean avatar Dec 05 '18 06:12 xybean

@xybean

compileSdkVersion 27
buildToolsVersion '26.0.2'
minSdkVersion 19
targetSdkVersion 23

gradle :4.6.0

danielzwhe avatar Dec 05 '18 06:12 danielzwhe

@hzwplus 试了一下,还是不行,请问你还可以提供与这个问题相关的其他思路吗?

xybean avatar Dec 10 '18 01:12 xybean

@xybean 你也可以尝试联系华为的技术支持,他们可以提供帮助的,虽然回复有点慢。我的问题就是启动 activity 的 scheme 的配置问题,还真想不到其他的思路了。

danielzwhe avatar Dec 10 '18 03:12 danielzwhe

微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题,华为的技术支持在哪

@xybean 你也可以尝试联系华为的技术支持,他们可以提供帮助的,虽然回复有点慢。我的问题就是启动 activity 的 scheme 的配置问题,还真想不到其他的思路了。

微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题,华为的技术支持在哪

qsw-net avatar Jul 01 '19 03:07 qsw-net

@hzwplus 微信打开文件,用其他应用打开 不显示自己的应用图标,是不是也是activity 的 scheme 的配置问题

qsw-net avatar Jul 01 '19 07:07 qsw-net

@givemeatry 如果你们的App中有配置<data android:mimeType="application/*"/>的话,可以先尝试去掉这一配置测试下。 在华为的手机上是无法配置application相关的通配符的。

xybean avatar Jul 01 '19 07:07 xybean

遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中

ljuns avatar Jul 03 '19 09:07 ljuns

我的是微信打开 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.

qsw-net avatar Jul 03 '19 09:07 qsw-net

遇到过一种情况:一开始桌面图标放在 drawable 里面,华为手机安装应用后在桌面找不到应用图标,在设置的应用列表可以看到应用是有安装。解决方法:需要把桌面图标放在 mipmap 中

我也遇到了这个请问, 请问你找到解决办法了么?

itpers avatar Sep 27 '19 09:09 itpers

试试自适应图标?

kilo-swodh avatar Sep 27 '19 10:09 kilo-swodh

我的是微信打开 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,就好了

cxMax avatar Nov 07 '19 09:11 cxMax

其实还是需要适配“Android桌面快捷方式”, 待完全解决后,提出解决方案。 目前已找到明确复现路径和步骤

cxMax avatar Nov 07 '19 11:11 cxMax

我来提供一种场景,希望对一些问题有帮助:

应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release或debug 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。

此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。

hellowmq avatar Dec 30 '19 02:12 hellowmq

我来提供一种场景,希望对一些问题有帮助:

应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。

此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。

是的, 我的必现路径也是这样的

cxMax avatar Dec 31 '19 10:12 cxMax

我来提供一种场景,希望对一些问题有帮助:

应用中存在两个或者以上的启动图标(含有开发工具的入口),部分图标仅在release或debug 包中出现。这时,使用 release 包覆盖安装 debug 包会导致所有启动图标同时消失。

此时华为桌面不更新图标缓存,重新布局桌面图标可以更新缓存从而图标会再次出现。

这样场景的确存在这个问题 通过adb shell pm enable com.huawei.android.launcher 可以刷新桌面

Caij avatar Oct 10 '20 12:10 Caij