要解决在Android 14上上下文注册的广播接收器不起作用的问题,可以采取以下步骤:
LocalBroadcastManager或Context的registerReceiver()和unregisterReceiver()方法。public class MyActivity extends Activity {
private BroadcastReceiver myBroadcastReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建广播接收器实例
myBroadcastReceiver = new MyBroadcastReceiver();
// 注册广播接收器
LocalBroadcastManager.getInstance(this).registerReceiver(myBroadcastReceiver,
new IntentFilter("com.example.ACTION_CUSTOM_BROADCAST"));
}
@Override
protected void onDestroy() {
super.onDestroy();
// 注销广播接收器
LocalBroadcastManager.getInstance(this).unregisterReceiver(myBroadcastReceiver);
}
}
com.example.ACTION_CUSTOM_BROADCAST。public class MyActivity extends Activity {
// ...
private void sendCustomBroadcast() {
Intent customBroadcastIntent = new Intent("com.example.ACTION_CUSTOM_BROADCAST");
LocalBroadcastManager.getInstance(this).sendBroadcast(customBroadcastIntent);
}
}
通过以上步骤,你可以解决在Android 14上上下文注册的广播接收器不起作用的问题。请确保广播接收器的代码正确注册和注销,并使用适当的广播动作和上下文发送广播。