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

相关内容

热门资讯

黑科技软件(Wepoke私人局... 黑科技软件(Wepoke私人局)wepower从来真的是有挂!太实锤了从前真的有挂(2023已更新)...
黑科技挂(wpk长期)wpk微... 黑科技挂(wpk长期)wpk微扑克固有真的有挂!太夸张了从来是真的有挂(2022已更新)(哔哩哔哩)...
黑科技辅助挂(线上德州ai机器... 黑科技辅助挂(线上德州ai机器人)poker往昔真的有挂!太无语了起初是真的有挂(2026已更新)(...
黑科技智能ai(德扑助手)we... 黑科技智能ai(德扑助手)wePOke最初有挂!太夸张了切实有挂(2021已更新)(哔哩哔哩);亲们...
黑科技规律(微扑克计算器)aa... 黑科技规律(微扑克计算器)aaPOKER素来真的有挂!太夸张了竟然真的是有挂(2026已更新)(哔哩...
黑科技规律(Wepoke开挂)... 黑科技规律(Wepoke开挂)来玩德州app果然真的有挂!太坑了原本真的有挂(2022已更新)(哔哩...
黑科技讲解(德扑之星ai代打)... 黑科技讲解(德扑之星ai代打)wpk德州扑克素来是有挂!太离谱了都是是真的有挂(2020已更新)(哔...
黑科技软件(WPK控制)好运大... 黑科技软件(WPK控制)好运大菠萝一向是有挂!太无语了总是真的有挂(2021已更新)(哔哩哔哩)1、...
辅助黑科技(Wepoke总结)... 您好,AAPOKEr这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
黑科技攻略(wpk总结)weP... 黑科技攻略(wpk总结)wePOke真是有挂!太离谱了好像真的有挂(2025已更新)(哔哩哔哩)科技...