AndroidSDK30+中“Urinullafternullcheck-SMSContentprovider”
创始人
2024-10-10 01:00:24
0次

在Android SDK 30及以上版本中,SMS Content provider的访问权限被限制,只能在特定的条件下才能获得访问权限。因此,在尝试从SMS Content provider获取数据时,需要进行更严格的空指针检查。

以下是一个示例,说明如何正确地访问SMS Content provider:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS)
        == PackageManager.PERMISSION_GRANTED) {
    Cursor cursor = getContentResolver().query(Telephony.Sms.CONTENT_URI,
            null, null, null, null);
    if (cursor != null && cursor.moveToFirst()) {
        do {
            // 处理短信记录
            String address = cursor.getString(cursor.getColumnIndex(Telephony.Sms.ADDRESS));
            String body = cursor.getString(cursor.getColumnIndex(Telephony.Sms.BODY));
            long date = cursor.getLong(cursor.getColumnIndex(Telephony.Sms.DATE));
        } while (cursor.moveToNext());
        cursor.close();
    }
}

在此示例中,首先使用ContextCompat.checkSelfPermission()检查应用程序是否具有读取SMS的权限。如果有,就可以使用getContentResolver().query()方法从Telephony.Sms.CONTENT_URI中获取SMS记录。然后检查返回的游标是否为空,并逐行处理SMS记录。

在以上代码中,我们可以看到,我们对返回的cursor变量进行了非空检查。这可以帮助我们避免出现“Uri null after null check”错误。

相关内容

热门资讯

必备教程!wpk有那种辅助吗,... 必备教程!wpk有那种辅助吗,微扑克透视软件插件(一直真的是有透视)主打本地运行的 AI 黑科技工具...
黑科技教程!wepoker有人... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker有人用过吗解析、 AI...
每日必看推荐!德朴之星脚本,微... 每日必看推荐!德朴之星脚本,微扑克确实真的有挂助手(本来是有辅助挂)AI 是一款可以让一直输的玩家修...
终于懂了!wepoker是不是... 终于懂了!wepoker是不是有人用挂,微扑克真的有挂神器(素来真的有透视)主打本地运行的 AI 黑...
科普!wepoker永久免费脚... 科普!wepoker永久免费脚本,德扑之星开挂透视教程工具(竟然有开挂)AI 是一款可以让一直输的玩...
记者发布!wpk安卓下载辅助,... 记者发布!wpk安卓下载辅助,WPK开挂技巧安装(素来真的有开挂)主打本地运行的 AI 黑科技工具迎...
实测揭晓!wepoker的辅助... 实测揭晓!wepoker的辅助器,WPK有挂透视吗平台(原本有辅助)AI 智能体黑科技再上新,自动化...
今日重大通报!wejoker辅... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
玩家必看分享!德普辅助app,... 德普辅助appAI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,断...
让我来分享经验!wepoker... 让我来分享经验!wepoker透视app下载,德普之星有没有透视挂软件(一贯是有辅助)AI 是一款可...