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

相关内容

热门资讯

德扑数据软件!德州软件工具,德... 您好,德扑数据软件这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家在这款...
wpk透明挂!wpk ai辅助... wpk透明挂!wpk ai辅助有用(wPk)果然真的有挂-详细辅助挂教程1、wpkai机器人多个强度...
WePoKe透视挂!wepow... WePoKe透视挂!wepower系统规律,wepoke有挂,软件教程(有挂详情)科技教程也叫必备教...
德州之星辅助挂!德州ai辅助神... 德州之星辅助挂!德州ai辅助神器app,菠萝德州app原来真的是有挂(详细有外 挂教程)是一款可以让...
wpk有外 挂!wpk有辅助挂... wpk有外 挂!wpk有辅助挂,WPK果然真的有挂,详细教程,(有挂辅助);WPK辅助器中分为三种模...
we辅助poker德之星!we... we辅助poker德之星!wepower伙牌,wepoKe原来真的有挂,分享教程(有挂插件);1.w...
德扑之星ai代打!德州透视辅助... 德扑之星ai代打!德州透视辅助工具,德扑之星本来真的有挂(详细AI智能辅助机器人教程)1、德扑之星a...
wepokeai机器人!wep... wepokeai机器人!wepoke调控参数(透视)wePOke(就是真的有挂);亲,其实确实真的有...
WPK透视辅助(wpK)wpk... WPK透视辅助(wpK)wpk辅助软件查得出来(辅助挂)好像真的有挂(必备教程)该软件可以轻松地帮助...
德州之星外 挂!德扑软件开发,... 德州之星外 挂!德扑软件开发,德州nzt好像有挂(详细有作弊教程)1、用户打开应用后不用登录就可以直...