自定义提示音:
1.在res下建raw 然后放入自定义提示音,如图:
2.在设置NotificationChannel时
mChannel.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.ring), Notification.AUDIO_ATTRIBUTES_DEFAULT);
(注意:要是已经设置过NotificationChannel,需要卸载重新安装)
横幅通知提醒:
只需要将横幅通知权限打开即可,这个权限必须是用户自己手动打开,目前我只发现可以跳转到通知设置页的方式,要是有更好的方式欢迎分享,上代码:
NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//Android 8.0及以上
NotificationChannel channel = null;//CHANNEL_ID是自己定义的渠道ID
if (mNotificationManager != null) {
channel = mNotificationManager.getNotificationChannel("1");
}
if (channel != null && channel.getImportance() == NotificationManager.IMPORTANCE_DEFAULT) {//判断是否开启横幅权限(当前是未开启)
// 跳转到设置页面
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
intent.putExtra(Settings.EXTRA_CHANNEL_ID, channel.getId());
startActivity(intent);
}
}