android - ANDROID:您如何处理旧 API 级别上不可用的 BroadcastIntent?
问题描述
上下文:我正在尝试使用仅适用于 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
?
解决方案
推荐阅读
- github - 如何通过仅链接选项共享 Github 页面?
- c++ - 使用 libhttpserver 搭建 https 服务器
- json - 当 responseType 是带有 VueJs 的 Axios 中的 blob 时,如何读取 http 错误?
- php - 如何避免 forech 循环以及我们如何使用数组列
- python-3.x - 如何将分隔符附加到刮掉的桌子上?
- c# - 如何从 2 个不同的字符串中获取字典中的值
- javascript - 如何计算摩纳哥差异编辑器中更改的行数?
- angular - 为什么http客户端请求返回错误作为字符串而不是HttpErrorResponse?
- laravel - 如何在 eloquent 中定义逆多态多对可能关系?
- python-3.x - 尝试通过 Web 套接字连接,它总是得到 HTTP/1.1 405 Method Not Allowed 错误