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”错误。

相关内容

热门资讯

解密关于!手游蛮王辅助,川南久... 解密关于!手游蛮王辅助,川南久久辅助,详细教程(的确有挂)1、进入游戏-大厅左侧-新手福利-激活码辅...
推荐十款!天蝎辅助,钱塘13挂... 推荐十款!天蝎辅助,钱塘13挂件,详细方法(有挂工具)1、钱塘13挂件有没有辅助教程、钱塘13挂件有...
盘点几款!丽水都莱破解器,边锋... 盘点几款!丽水都莱破解器,边锋小程序老友辅助,详细器(证实有挂)一、边锋小程序老友辅助游戏安装教程牌...
技术分享!乐酷大厅怎么安装,人... 技术分享!乐酷大厅怎么安装,人海大厅辅助插件,详细器(存在有挂)亲,关键说明,人海大厅辅助插件透视脚...
今日焦点!朋朋政和辅助,闲逸碰... 今日焦点!朋朋政和辅助,闲逸碰胡辅助,详细软件(有挂猫腻)1)闲逸碰胡辅助免费钻石:进一步探索闲逸碰...
重大通报!盛世辅助插件,皇豪互... 重大通报!盛世辅助插件,皇豪互众可以控制吗,详细app(真的有挂)1、每一步都需要思考,不同水平的挑...
安装程序教程!卡五星游戏源码,... 安装程序教程!卡五星游戏源码,四川途游辅助,详细app(发现有挂)在进入卡五星游戏源码软件靠谱后,参...
最新技巧!微乐智能辅助软件是真... 最新技巧!微乐智能辅助软件是真的吗,江西中至黑科技辅助软件,详细方法(有挂解惑)亲,关键说明,微乐智...
必看攻略!四川游戏家园破解,和... 必看攻略!四川游戏家园破解,和和营口辅助,详细神器(真实有挂)1、四川游戏家园破解脚本辅助下载、四川...
玩家必看分享!微信边锋辅助,决... 玩家必看分享!微信边锋辅助,决战十三水辅助,详细技巧(真实有挂)小薇(辅助器软件下载)致您一封信;亲...