1

上下文:我正在尝试使用仅适用于 API 级别 28 的新ACTION_APP_BLOCK_STATE_CHANGED广播Intent。通常,当我处理 API 级别特定代码时,我会执行类似的操作

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
   //call new API
}

但是因为BroadcastReceivers 是在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

4

0 回答 0