Android新荣耀手机角标只增不减

  • 荣耀不再是华为
  • 新荣耀手机包名变更
  • 兼容新荣耀角标更新
  • 咨询华为客服
  • 咨询荣耀客服
  • 附件


荣耀不再是华为

2020年11月17日,深圳市智信新信息技术有限公司完成了对荣耀品牌业务资产的全面收购,自此华为将不再持有新荣耀公司的任何股份。

新荣耀手机包名变更

新荣耀手机
桌面包名:“com.hihonor.android.launcher”
Build.MANUFACTURER:“HONOR”

华为/鸿蒙手机
桌面包名:com.huawei.android.launcher
Build.MANUFACTURER:HUAWEI

兼容新荣耀角标更新

public void setBadgeNum(int num) {
String URI_OLD = "content://com.huawei.android.launcher.settings/badge/";
String URI_NEW = "content://com.hihonor.android.launcher.settings/badge/"; Uri uri = Uri.parse(URI_NEW);
String type = getContentResolver().getType(uri);
if (TextUtils.isEmpty(type)) {
uri = Uri.parse(URI_OLD);
type = getContentResolver().getType(uri); 
	if (TextUtils.isEmpty(type)) {
		uri = null; 
	}
}
try {
Bundle extra = new Bundle(); 
extra.putString("package", "xxxxxx"); 
extra.putString("class", "yyyyyy"); 
extra.putInt("badgenumber", num);
if (uri != null) {
getContentResolver().call(uri, "change_badge", null, extra);
}
} catch (Exception e) {
e.printStackTrace(); }
}



附件

《荣耀桌面角标开发指导书(国内更新》
一 简介
1.1 范围
荣耀桌面角标开发指导书
本文档主要描述荣耀桌面未读角标对外接口。
1.2 目的
公布对外接口给第三方应用,方便第三方应用通过调用接口实现在荣耀桌面上显示未读数 字角标。
二 正文
2.1 荣耀对外接口方式描述 对外提供数据库URI、操作数据库的权限,通过特定的接口方式,第三方应用将需要显示
的角标数量、应用的信息传递给荣耀桌面,以便荣耀桌面显示对应的未读角标信息。
2.2 显示样式
2.3 具体接口使用步骤 2.3.1 声明权限

2.3.2 在需要进行角标显示的地方,采用如下方法传递数据给荣耀桌面

public void setBadgeNum(int num) {
 String URI_OLD = “content://com.huawei.android.launcher.settings/badge/”;
 2021-10-14 第1页, 共4页String URI_NEW = “content://com.hihonor.android.launcher.settings/badge/”; Uri uri = Uri.parse(URI_NEW);
 String type = getContentResolver().getType(uri);
 if (TextUtils.isEmpty(type)) {
 uri = Uri.parse(URI_OLD);
 type = getContentResolver().getType(uri); if (TextUtils.isEmpty(type)) {
 uri = null; }
 }
 try {
 Bundle extra = new Bundle(); extra.putString(“package”, “xxxxxx”); extra.putString(“class”, “yyyyyy”); extra.putInt(“badgenumber”, num);
 if (uri != null) {
 getContentResolver().call(uri, “change_badge”, null, extra);
 }
 } catch (Exception e) {
 e.printStackTrace(); }
 }


关键参数说明:
package 应用包名
badgenumber 角标数字
参数
说明
class
桌面图标对应的应用入口Activity类
2021-10-14
第2页, 共4页

2.3.3 特殊情形说明
⚫ 对于第三方应用打开和退出时,是否还继续显示角标取决应用传递的值(badgenumber 为0时,不显示角标;badgenumber大于0时,显示角标)。
⚫ 当第三方应用package和class发生变化时,需传递该变化后的信息。 2.4 设备制造商信息
通过Build.MANUFACTURER获取的信息为HONOR。
2.5 谷歌原点角标显示方式 谷歌Android O版本后支持原点显示,可以使用setShowBadge(boolean)方法。 https://developer.android.com/reference/android/app/NotificationChannel 2.6 桌面包名 桌面包名:com.hihonor.android.launcher 三 示例 建议应用发消息通知时,使用谷歌原点角标显示方式后,根据设备制造商或者桌面包名判 断,如果是荣耀机器,则按照荣耀数字角标方式进行处理。

boolean mIsSupportedBade = true;
 if (mIsSupportedBade) {
 setBadgeNum(num);
 }
 public void setBadgeNum(int num) {
 String URI_OLD = “content://com.huawei.android.launcher.settings/badge/”; String URI_NEW = “content://com.hihonor.android.launcher.settings/badge/”; Uri uri = Uri.parse(URI_NEW);
 String type = getContentResolver().getType(uri);
 if (TextUtils.isEmpty(type)) {
 uri = Uri.parse(URI_OLD);
 type = getContentResolver().getType(uri);
 2021-10-14
 第3页, 共4页if (TextUtils.isEmpty(type)) { uri = null;
 } }
 try {
 Bundle extra = new Bundle();
 extra.putString(“package”, " com.example.myapplication"); extra.putString(“class”, " com.example.myapplication.MainActivity"); extra.putInt(“badgenumber”, num);
 if (uri != null) {
 getContentResolver().call(uri, “change_badge”, null, extra); }
 } catch (Exception e) { mIsSupportedBade=false;
 } }
 2021-10-14
 第4页, 共4页