是否可以阅读 Android 中的短信而不是验证码?
Is it possible to read SMS in Android NOT for verification code?
我需要从自动发送的短信中获取 link,但这条短信总是来自不同的号码,所以它不像 Retriever API。
我想知道 - Android 8-9 岁及更高年龄段的人是否可以通过应用程序以编程方式阅读短信?
如果您知道一些示例 - 如果您愿意分享,将不胜感激:)
*此处的大多数主题都已过时或与 Retriever API 相关,因此我想确定了解最新的 Android 版本。
有 Telephony.Sms.Inbox and Telephony.Sms.Sent 个内容提供商可以访问传入和传出的短信数据。我很久以前就用过这个,但现在我得到了我的旧代码,它仍然可以在 api 29 中工作。这是我从收件箱 table 获取基本数据的示例代码,它是全文,但是更好的方法是通过内容提供商 类 访问 content_uri 和列。如果您想获得更多列,请查看文档。请记住,您需要授予 READ_SMS
权限。
Uri inboxUri = Uri.parse("content://sms/inbox");
String[] projection = new String[] { "_id", "date", "date_sent", "address", "body" };
String sortOrder = "date";
String limit = " DESC";
Cursor cursor = mContext.getApplicationContext().getContentResolver().
query(inboxUri, projection, null, null, sortOrder + limit);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
//read sms data
} while (cursor.moveToNext());
}
cursor.close();
}
我需要从自动发送的短信中获取 link,但这条短信总是来自不同的号码,所以它不像 Retriever API。
我想知道 - Android 8-9 岁及更高年龄段的人是否可以通过应用程序以编程方式阅读短信?
如果您知道一些示例 - 如果您愿意分享,将不胜感激:)
*此处的大多数主题都已过时或与 Retriever API 相关,因此我想确定了解最新的 Android 版本。
有 Telephony.Sms.Inbox and Telephony.Sms.Sent 个内容提供商可以访问传入和传出的短信数据。我很久以前就用过这个,但现在我得到了我的旧代码,它仍然可以在 api 29 中工作。这是我从收件箱 table 获取基本数据的示例代码,它是全文,但是更好的方法是通过内容提供商 类 访问 content_uri 和列。如果您想获得更多列,请查看文档。请记住,您需要授予 READ_SMS
权限。
Uri inboxUri = Uri.parse("content://sms/inbox");
String[] projection = new String[] { "_id", "date", "date_sent", "address", "body" };
String sortOrder = "date";
String limit = " DESC";
Cursor cursor = mContext.getApplicationContext().getContentResolver().
query(inboxUri, projection, null, null, sortOrder + limit);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
//read sms data
} while (cursor.moveToNext());
}
cursor.close();
}