关于android:FAQHMS-Core推送服务推送角标的开发及常见问题解答

目录

1、发送音讯并显示桌面数字角标。

2、如何革除数字角标?

3、如何设置圆点角标?

4、利用桌面图标角标开关无奈开启或未显示开关。

5、推送音讯设置了角标字段但未显示角标?

6、未设置角标参数,但收到音讯后显示了角标。

解决方案

Q1:发送音讯并显示桌面数字角标。

实现设施收到音讯后显示数字角标业务,须要在发送音讯时设置角标 “badge”字段,请参考以下示例及阐明。

音讯体示例:

{
    "validate_only": false,
    "message": {
        "android": {
            "notification": {
                "title": "test title",
                "body": "test body",
                "click_action": {
                    "type": 3
                },
                "badge": {
                    "add_num": 1,
                    "class": "com.zrgj.push.activity.MainActivity",
                    "set_num": 10
                }
            }
        },
        "token": ["pushtoken1"]
    }
}

参数阐明:

“add_num”:利用角标累加数字,在已有的角标数量上累加。参数为大于0小于100的整数。

“class”:设置角标门路,参数为利用入口Activity类的全门路。样例:com.example.hmstest.MainActivity

“set_num”:设置角标数字,指定角标为设置的数量。

注意事项:

“add_num”与“set_num”字段应用其一即可,如果同时设置以set_num为准。

Q2:如何革除数字角标?

数字角标和告诉音讯没有关联,关上利用或者点击、清理告诉栏音讯并不会清理角标数字或圆点,客户端可配合业务需要应用以下办法革除。

示例代码:

Bundle extra = new Bundle();
extra.putString("package", "xxxxxx");//利用包名
extra.putString("class", "yyyyyyy");//利用入口Activity类全门路
extra.putInt("badgenumber", i);//i为0即可革除
context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, extra);

Q3:如何设置圆点角标?

圆点角标无需开发配置,圆点角标和告诉栏音讯相关联,告诉栏中有利用音讯圆点是革除不了的,如果告诉栏没有利用音讯则圆点会主动革除掉。

开启形式:

圆点角标需手动开启,以HarmonyOS 3.0零碎举例:设置->告诉和状态栏->桌面图标角标->角标显示方式(数字角标/圆点角标)。

Q4:利用桌面图标角标开关无奈开启或未显示开关。

这种状况阐明未胜利设置过角标,只有胜利设置桌面角标后才能够开启或显示开关。

Q5:推送音讯设置了角标字段但未显示角标?

1、查看是否同时设置了set_num为0,同时配置“add_num”与“set_num”以set_num数量为准。

2、查看“class”字段参数是否正确,参数为利用入口Activity类的全门路。(易错)

例如:com.huawei.codelabpush.MainActivity。

<activity android:name="com.huawei.codelabpush.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

Q6:未设置角标参数,但收到音讯后显示了角标。

查看是否只设置了“class”字段,设置了“class”字段“add_num”和“set_num”都设置为空,则利用角标数字默认累加1。

例如:

"badge":{
"class":" com.huawei.codelabpush.MainActivity"
}

理解更多详情>>

拜访HMS Core 联盟官网

获取HMS Core 开发领导文档

关注咱们,第一工夫理解 HMS Core 最新技术资讯~

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理