在 Android 8.0 (API 级别 26) 及更高版本中,要使用通知,您需要请求用户授予您的应用通知权限。以下是请求通知权限的示例代码:
// 判断是否需要请求通知权限,只有在 Android 8.0 及以上版本需要请求
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager manager = getSystemService(NotificationManager.class);
// 判断应用是否拥有通知权限
if (manager.getImportance() == NotificationManager.IMPORTANCE_NONE) {
// 如果没有权限,则请求通知权限
Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
startActivity(intent);
}
}
上述代码中,如果发现当前设备的系统版本号大于等于 Android 8.0 (API 级别 26),则获取 NotificationManager
对象并检查当前应用是否拥有通知权限。如果没有权限,则跳转到应用的通知权限设置页面(需要用户手动授权)。