ran*_*ose 10 permissions sms android 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 android:scheme="sms" />
<data android:port="9027" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
otp.OTPReceiver是相关的BroadcastReceiver
这适用于除Redmi设备之外的所有其他手机.在Redmi手机中,您必须在权限应用程序中手动启用自动启动和其他权限(此应用程序处理Redmi手机中的权限).在安装时询问权限,我看到Facebook,whatsapp等.想知道如何做到这一点.
我看到了这样的问题该和这个被问同样的事情,但都无人接听.我尝试添加android:enabled="true",android:exported="true"到接收XML片段就像提到这里.但这些都没有奏效.
编辑:我正在使用data sms(也称为port 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",
"**************************************************");
}
}
Run Code Online (Sandbox Code Playgroud)
尝试一下,它对我有用。
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |