HarmonyOS 鸿蒙Next:使用了activity-alias 标签后,收到push,应用桌面角标数不更新
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"><</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"><</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>
三,期望得到解决的办法
针对HarmonyOS鸿蒙Next中使用activity-alias标签后push导致应用桌面角标数不更新的问题,这可能是由于角标更新逻辑与activity-alias的处理存在兼容性问题。请检查以下几点:
- 确认角标更新逻辑是否正确实现,通常涉及通知管理和角标API的调用。
- 尝试移除activity-alias标签,看是否能正常更新角标,以排除标签影响。
- 查阅最新的HarmonyOS开发文档或社区论坛,看是否有相关的问题讨论或解决方案。
如果问题依旧没法解决,请加我微信,我的微信是itying888,我将尽力提供帮助。