[英]Redmi phones not asking SMS permissions and hence not reading sms
以下是我的代码:
<!-- 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>
otp.OTPReceiver
是关联的BroadcastReceiver
这适用于除 Redmi 设备以外的所有其他手机。 在 Redmi 手机中,您必须在权限应用程序中手动打开自动启动和其他权限(此应用程序处理 Redmi 手机中的权限)。 安装时我会看到 Facebook、whatsapp 等,询问权限。 想知道如何做到这一点。
我看到像这样和这样的问题,它们在问同样的事情,但都没有答案。 我尝试将android:enabled="true"
, android:exported="true"
到这里提到的接收器 xml 片段中。 但这些都不起作用。
编辑:我正在使用data sms
(也称为port sms
)。 我也用普通短信验证过,红米手机也存在这个问题
经过长时间的尝试,获得了 MI SMS 许可(通过 SMS 提供商)。 使用您的活动或片段添加此方法(内容提供者方法)。 您将能够获得许可。
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",
"**************************************************");
}
}
试试看,它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.