在Android 12及以上版本中,出于安全和隐私考虑,Android对广播接收器的使用进行了限制。应用只能动态注册广播接收器,且必须在应用运行时由用户显式允许。
以下是如何在Android 12及以上版本中使用广播接收器的示例:
MyReceiver myReceiver = new MyReceiver();
IntentFilter intentFilter = new IntentFilter("android.intent.action.ACTION_POWER_CONNECTED");
context.registerReceiver(myReceiver, intentFilter);
Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName);
startActivity(intent);
这将启动应用的通知设置屏幕,并允许用户启用广播接收器。
注意:此示例中显示的是请求通知权限,但实际上应该请求与广播接收器相关的权限。