【发布时间】:2017-12-08 12:47:27
【问题描述】:
我正在使用EasyPermission 从用户那里获取permissions。
@AfterPermissionGranted(PERMISSIONS_REQUEST_READ_SMS)
private void readSMS() {
String[] perms = {Manifest.permission.READ_SMS};
if (EasyPermissions.hasPermissions(this, Manifest.permission.READ_SMS)) {
initSMS();
} else {
// Do not have permissions, request them now
EasyPermissions.requestPermissions(this, getString(R.string.send_sms_rationale),
PERMISSIONS_REQUEST_READ_SMS, Manifest.permission.READ_SMS);
}
}
在我的initSMS() 中,我曾尝试从 Android 设备读取消息。它适用于除Xiaomi 设备之外的所有设备。我使用TelephonyProvider 类来阅读消息。
private void initSMS() {
TelephonyProvider provider = new TelephonyProvider(this);
List<Sms> sms = provider.getSms(TelephonyProvider.Filter.INBOX).getList();
for(int i = 0; i <= sms.size() - 1; i++) {
Log.d("Address",sms.get(i).address);
Log.d("Sms",sms.get(i).body);
Log.d("ReceivedDate",""+sms.get(i).receivedDate));
Log.d("State",""+sms.get(i).status);
Log.d("person",""+sms.get(i).person);
}
}
他们有什么方法可以读取来自Xiaomi 设备的所有消息吗?
【问题讨论】:
标签: android sms android-permissions telephonymanager xiaomi