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辅助挂多功能透视工具,好像是真的有挂(有挂解惑)暗藏猫腻,小编详细说明wpk破解器...
攻略讲解!wpk辅助挂多功能透... 攻略讲解!wpk辅助挂多功能透视工具,都是真的有挂(有挂透明挂)1、攻略讲解!wpk辅助挂多功能透视...
信息共享!微扑克辅助挂多功能透... 信息共享!微扑克辅助挂多功能透视工具,本来存在有挂(有挂详情)1、玩家可以在微扑克线上大神俱乐部对游...
我来分享!wpk辅助挂多功能透... 我来分享!wpk辅助挂多功能透视工具,果然是有挂(有挂实锤)1、下载好wpk透视辅助下载之后点击打开...
重大来袭!德扑圈辅助挂多功能透... 重大来袭!德扑圈辅助挂多功能透视工具,确实是有挂(有挂解惑)1、重大来袭!德扑圈辅助挂多功能透视工具...
揭秘真相!AAPoKer辅助挂... 揭秘真相!AAPoKer辅助挂多功能透视工具,切实真的有挂(存在有挂)1、进入到AAPoKer是否有...
每日必看推荐!wepoker辅... 每日必看推荐!wepoker辅助挂多功能透视工具,好像是有挂(有挂解惑)1、下载好wepoker脚本...
重磅来袭!智星菠萝德州辅助挂多... 重磅来袭!智星菠萝德州辅助挂多功能透视工具,确实存在有挂(新版有挂)1、起透看视 智星菠萝德州辅助软...
程序员教你!德普之星辅助挂多功... 程序员教你!德普之星辅助挂多功能透视工具,确实真的是有挂(今日头条)1、进入游戏-大厅左侧-新手福利...