Android8.0之后自定义通知铃声与震动等设置的方法

在Android O之后应用发送通知必须要使用NotificationChannel来发送通知,但是会发现NotificationChannel在创建之后不管怎么修改设置都是无效的,查看源码才发现是因为NotificationChannel创建之后就无法主动修改铃声、震动等设置。

但是在设置>应用>通知管理里面是可以去对对应的NotificationChannel进行铃声、震动等设置的,查看设置源码发现设置里面是使用以下方法来对对应应用的NotificationChannel进行更新。

static INotificationManager sINM = INotificationManager.Stub.asInterface(
            ServiceManager.getService(Context.NOTIFICATION_SERVICE));

        try {
            sINM.updateNotificationChannelForPackage(packageName, uid, channel);
        } catch (Exception e) {
            Log.w("Notification", "Error calling NoMan", e);
        }

记得添加权限


好了,现在可以正常的更新NotificationChannel了。

你可能感兴趣的:(Android8.0之后自定义通知铃声与震动等设置的方法)