EasyPermission
을 사용하여 permissions
을 사용했습니다.Xiaomi 전화에서 프로그래밍 방식으로 메시지를 읽을 수 없습니다.
@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()
에서 안드로이드 장치에서 메시지를 읽으려고했습니다. 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
기기의 모든 메시지를 읽을 수있는 방법이 있습니까?
시도 [이 (https://stackoverflow.com/a/41061459/3117966)와 [이 (https://stackoverflow.com/a/38309200/3117966) – Nisarg
감사 .. Nilu @ @Nisarg이 링크는 나를 위해 유용합니다. –