上下文:我正在尝试使用仅适用于 API 级别 28 的新ACTION_APP_BLOCK_STATE_CHANGED广播Intent
。通常,当我处理 API 级别特定代码时,我会执行类似的操作
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
//call new API
}
但是因为BroadcastReceiver
s 是在AndroidManifest.xml文件中设置的,所以我不确定如何做类似的事情。
同样根据此示例,Android 操作系统似乎将处理接收意图并调用相关的,如AndroidManifest.xmlBroadcastReceiver
中所定义。但我担心的是它会尝试为运行在较旧 SDK(例如 API 级别 26 Oreo)上的应用程序调用它,从而导致应用程序崩溃。
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Action: " + intent.getAction(), Toast.LENGTH_SHORT).show();
}
}
如何处理 API 级别特定的广播Intent
?