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)爱玩联盟辅助软件免费钻石:...
这一问题亟待解决!蛮籽麻旺重庆... 这一问题亟待解决!蛮籽麻旺重庆辅助!一直存在有辅助器(有挂工具)-哔哩哔哩1、下载好蛮籽麻旺重庆辅助...
为了进一步!中至上饶里的祈福有... 为了进一步!中至上饶里的祈福有用吗!本来真的是有辅助器(有挂规律)-哔哩哔哩1、这是跨平台的中至上饶...
做出回应!财神13辅助器下载!... 做出回应!财神13辅助器下载!真是存在有辅助修改器(揭秘有挂)-哔哩哔哩该软件可以轻松地帮助玩家将财...
刚刚!浙江宝宝游戏辅助器是真的... 刚刚!浙江宝宝游戏辅助器是真的嘛!其实存在有辅助神器(有挂方式)-哔哩哔哩小薇(辅助器软件下载)致您...
推出新举措!同城游辅助器!都是... 推出新举措!同城游辅助器!都是有挂辅助脚本(有挂解惑)-哔哩哔哩1、同城游辅助器辅助器安装包、同城游...
据了解!雀友会广东潮汕苹果脚本... 据了解!雀友会广东潮汕苹果脚本!一直存在有辅助修改器(有挂总结)-哔哩哔哩1、起透看视 雀友会广东潮...
据了解!推荐宝宝浙江辅助!果然... 据了解!推荐宝宝浙江辅助!果然真的是有辅助器(有挂技术)-哔哩哔哩亲,关键说明,推荐宝宝浙江辅助透视...
出乎意料的是!挂是真的假的!果... 您好,挂是真的假的这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
反观!约局吧黑科技辅助器!其实... 反观!约局吧黑科技辅助器!其实是真的辅助修改器(有挂秘笈)-哔哩哔哩1、玩家可以在约局吧黑科技辅助器...