Android Redmi手机不要求短信权限,因此不阅读短信
以下是我的代码:Android Redmi手机不要求短信权限,因此不阅读短信,android,permissions,sms,android-permissions,redmi-permission,Android,Permissions,Sms,Android Permissions,Redmi Permission,以下是我的代码: <!-- Data SMS Receiver --> <receiver android:name=".otp.OTPReceiver" android:enabled="true" android:exported="true" > <intent-filter> <action android:name="android.intent.action.DATA_SMS_RECEIVED"
<!-- Data SMS Receiver -->
<receiver android:name=".otp.OTPReceiver" android:enabled="true" android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.DATA_SMS_RECEIVED" />
<data android:scheme="sms" />
<data android:port="9027" />
</intent-filter>
</receiver>
&他们问了同样的问题,但都没有回答。我尝试将android:enabled=“true”
,android:exported=“true”
添加到接收方xml片段中,如中所述。但这些都不起作用
编辑:我正在使用数据sms
(也称为端口sms
)。我也用普通短信进行了验证,Redmi手机上也存在问题经过长时间的尝试,获得了MI短信许可(通过短信提供商)。
将此方法(内容提供程序方法)与活动或片段一起添加。
您将能够获得许可
private void displaySmsLog() {
Uri allMessages = Uri.parse("content://sms/");
//Cursor cursor = managedQuery(allMessages, null, null, null, null); Both are same
Cursor cursor = this.getContentResolver().query(allMessages, null,
null, null, null);
while (cursor.moveToNext()) {
for (int i = 0; i < cursor.getColumnCount(); i++) {
Log.d(cursor.getColumnName(i) + "", cursor.getString(i) + "");
}
Log.d("One row finished",
"**************************************************");
}
}
private void displaysmlog(){
Uri allMessages=Uri.parse(“content://sms/");
//Cursor Cursor=managedQuery(所有消息,null,null,null,null);两者都相同
Cursor Cursor=this.getContentResolver().query(allMessages,null,
空,空,空);
while(cursor.moveToNext()){
对于(int i=0;i
试试看,它对我有用 您的targetSdk是什么?targetSdk版本24我想您已经检查了运行时权限(如果有的话)!!我知道它的答案不是试图传达这是MI设备的问题,我遇到了同样的问题,但仍然没有想到我认为这是因为他们的自定义MIUI操作系统。嘿,伙计,如果你发现什么,请在这里给我打电话,这会很有帮助谢谢,我会尽快尝试!!嘿,请提供反馈,兄弟。。。。。它的工作米4i。。。因此,我将对其他MI进行测试并采取一些预防措施phone@PraveenSingh你能提供关于你的测试设备的信息吗?@TarunSharma我在小米红米笔记本3上测试过。这只适用于正常的短信阅读。OTP密码通常从SMS网关发送,MIUI将其检测为服务消息,需要手动授予读取该SMS的权限。