项目场景:
实现app外部图标红点数量可以控制。
问题描述
不同的手机有不同的设置方法。首先是vivo手机的设置方法:
/**
* vivo手机创建角标
* 只有非vivo推送渠道并且8.0以上手机才可以使用下列方式
*
* @param context
* @param num
*/
@SuppressLint("WrongConstant")
public void setVivoBadgeNum(Context context, int num) {
try {
Intent intent = new Intent();
intent.setAction("launcher.action.CHANGE_APPLICATION_NOTIFICATION_NUM");
intent.addFlags(0x01000000);
intent.putExtra("packageName", context.getPackageName());
String launchClassName = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()).getComponent().getClassName();
Log.i("launchClassName", "setVivoBadgeNum: " + launchClassName);
intent.putExtra("className", launchClassName);
intent.putExtra("notificationNum", num);
context.sendBroadcast(intent);
} catch (Exception e) {
Log.i("", "setVivoBadgeNum: " + e);
}
}
华为手机设置方法:
/** * set badge number */ public void setHuaWeiBadgeNum(Context context, int num) { try { Bundle bunlde = new Bundle(); bunlde.putString("package", context.getPackageName()); String launchClassName = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()).getComponent().getClassName(); bunlde.putString("class", launchClassName); bunlde.putInt("badgenumber", num); context.getContentResolver().call(Uri.parse("content://com.huawei.android.launcher.settings/badge/"), "change_badge", null, bunlde); } catch (Exception e) { Log.i("", "setVivoBadgeNum: " + e); } }
小米手机目前比较特殊,设置完以后,把消息推送清除掉以后,他会自己把红点去除掉, 目前还没有找到好的处理方法。
1048

被折叠的 条评论
为什么被折叠?



