HarmonyOS 鸿蒙Next:使用了activity-alias 标签后,收到push,应用桌面角标数不更新

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:使用了activity-alias 标签后,收到push,应用桌面角标数不更新

一、问题描述:

android 实现应用换标功能,在AndroidManifest.xml 使用了activity-alias 标签当应用入口。

经过测试后,发现应用不在前台时,收到push但应用角标无法更新。

设备:华为P30(HarmonyOS3.0.0)

二、部分实现代码如下:

AndroidManifest.xml

<?xml version=“1.0” encoding=“utf-8”?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
package=“com.xk.ChangeIcon”>

<application android:allowBackup=“true” android:icon="@mipmap/ic_launcher_round" android:label="@string/app_name" android:supportsRtl=“true” android:theme="@style/AppTheme">

    </span><span class="hljs-tag"><span class="xml"><span class="hljs-tag">&lt;</span></span><span class="hljs-title"><span class="xml"><span class="hljs-tag"><span class="hljs-title">activity

android:enabled=“true” android:name=".MainActivity"> <intent-filter> <action android:name=“android.intent.action.MAIN” /> <category android:name=“android.intent.category.LAUNCHER” /> </intent-filter> </activity>

    </span><span class="hljs-tag"><span class="xml"><span class="hljs-tag">&lt;</span></span><span class="hljs-title"><span class="xml"><span class="hljs-tag"><span class="hljs-title">activity-alias

android:name=".ChangeIcon" android:enabled=“false” android:label=“Alias1” android:icon="@mipmap/ic_launcher" android:targetActivity=".MainActivity"> <intent-filter> <action android:name=“android.intent.action.MAIN” /> <category android:name=“android.intent.category.LAUNCHER” /> </intent-filter> </activity-alias>

</application>

</manifest><button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

业务调用使用activity-alias 标签代码:

/**

  • 启用组件

* @param componentName

*/

private void enableComponent() {

//拿到我注册的别名ChangeIcon组件

ComponentName newComponent = new ComponentName(getBaseContext(),

“com.xk.ChangeIcon.ChangeIcon”);

int state = mPackageManager.getComponentEnabledSetting(componentName);

if (state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {

//已经启用

return;

}

mPackageManager.setComponentEnabledSetting(componentName,

PackageManager.COMPONENT_ENABLED_STATE_ENABLED,

PackageManager.DONT_KILL_APP);

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

三,期望得到解决的办法

1 回复

针对HarmonyOS鸿蒙Next中使用activity-alias标签后push导致应用桌面角标数不更新的问题,这可能是由于角标更新逻辑与activity-alias的处理存在兼容性问题。请检查以下几点:

  1. 确认角标更新逻辑是否正确实现,通常涉及通知管理和角标API的调用。
  2. 尝试移除activity-alias标签,看是否能正常更新角标,以排除标签影响。
  3. 查阅最新的HarmonyOS开发文档或社区论坛,看是否有相关的问题讨论或解决方案。

如果问题依旧没法解决,请加我微信,我的微信是itying888,我将尽力提供帮助。

回到顶部