无法使用 READ_SMS 权限 android 读取服务消息
Not able to read Service messages using READ_SMS permission android
我们有一个 Android 应用程序,我们试图在其中读取 phone 中可用的所有消息。我们正在使用 READ_SMS 权限,但我们无法以这种方式读取服务消息。服务消息是指从不同公司获得的消息。例如,我的 phone 中有来自 Amazon 和 Paytm 的消息,但我无法在加载消息时加载这些消息。我不明白这个问题。 android 加载 SMS 时是否应用任何默认过滤器或代码是否有任何问题?
我使用以下代码加载所有短信:
private ArrayList load_sms(){
ContentResolver contentResolver = getContentResolver();
ArrayList<String> smsList = new ArrayList<>();
Cursor smsInboxCursor =
contentResolver.query(Uri.parse("content://sms/inbox"),
null,null,null,null);
int indexBody = smsInboxCursor.getColumnIndex("body");
int indexAddress = smsInboxCursor.getColumnIndex("address");
if(indexBody < 0 || !smsInboxCursor.moveToFirst())
return null;
do{
smsList.add("SMS From: " +
smsInboxCursor.getString(indexAddress) + " \nMessage: "
+ smsInboxCursor.getString(indexBody));
}while (smsInboxCursor.moveToNext());
return smsList;
}
因此,解决方案非常模糊。我有一个 MI phone,发现 MI 阻止了服务消息。要查看这些 SMS,我必须按照此 link 中给出的设置手动授予权限:Can't read service messages in Redmi Note 3
当我 运行 我的应用程序在其他 phone 上,比如三星,我能够查看所有消息。
我们有一个 Android 应用程序,我们试图在其中读取 phone 中可用的所有消息。我们正在使用 READ_SMS 权限,但我们无法以这种方式读取服务消息。服务消息是指从不同公司获得的消息。例如,我的 phone 中有来自 Amazon 和 Paytm 的消息,但我无法在加载消息时加载这些消息。我不明白这个问题。 android 加载 SMS 时是否应用任何默认过滤器或代码是否有任何问题?
我使用以下代码加载所有短信:
private ArrayList load_sms(){
ContentResolver contentResolver = getContentResolver();
ArrayList<String> smsList = new ArrayList<>();
Cursor smsInboxCursor =
contentResolver.query(Uri.parse("content://sms/inbox"),
null,null,null,null);
int indexBody = smsInboxCursor.getColumnIndex("body");
int indexAddress = smsInboxCursor.getColumnIndex("address");
if(indexBody < 0 || !smsInboxCursor.moveToFirst())
return null;
do{
smsList.add("SMS From: " +
smsInboxCursor.getString(indexAddress) + " \nMessage: "
+ smsInboxCursor.getString(indexBody));
}while (smsInboxCursor.moveToNext());
return smsList;
}
因此,解决方案非常模糊。我有一个 MI phone,发现 MI 阻止了服务消息。要查看这些 SMS,我必须按照此 link 中给出的设置手动授予权限:Can't read service messages in Redmi Note 3
当我 运行 我的应用程序在其他 phone 上,比如三星,我能够查看所有消息。