在 Android 14 中为用户触发本地通知的应用程序需要用户显式授予 SCHEDULE_EXACT_ALARM 权限,否则现在会引发安全异常。
我正在向用户发起权限请求,模式已成功弹出,但打开/关闭权限的选项呈灰色,如所附的屏幕截图所示?
我已在 Android 清单中添加了权限,并使用以下代码发起请求
@Override
protected void onResume() {
super.onResume();
// Check if the app can schedule exact alarms
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && !alarmManager.canScheduleExactAlarms()) {
// If not, request the SCHEDULE_EXACT_ALARM permission
Intent intent = new Intent(android.provider.Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
}
您提供的代码工作正常,我已经在我的应用程序中对其进行了测试。请提供有关您的场景的更多背景信息。可能有一些不同的东西导致了这个问题。
提供
AndroidManifest.xml
中的权限声明等详细信息,以及如何在运行时管理通知权限。