在Android上,您可以使用以下代码段来读取所有消息:
Uri uri = Uri.parse("content://sms/");
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor.moveToFirst()) {
do {
//读取消息数据
String body = cursor.getString(cursor.getColumnIndex("body"));
String address = cursor.getString(cursor.getColumnIndex("address"));
//将消息添加到列表中
smsList.add("Number: " + address + " .Message: " + body);
} while (cursor.moveToNext());
}
如果您运行此代码但仍然返回null,则原因可能是您的应用程序没有允许读取短信权限。要检查您的应用程序是否已获取此权限,请在AndroidManifest.xml文件中检查以下代码:
...
如果您的应用程序没有此权限,则将返回空游标。因此,请确保将此权限添加到您的应用程序中,并确保在运行时请求该权限。
请注意,这是一项高风险操作,因为您的应用程序将能够读取用户的消息。因此,在请求该权限时,请确保向用户说明您将要读取其消息的原因,并确保获得其同意。