![](/img/trans.png)
[英]How to register an implicit system broadcast like “android.provider.Telephony.SMS_RECEIVED” which is not supported in the Android Oreo
[英]I am not able to receive “android.provider.Telephony.SMS_RECEIVED” this broadcast in Android Oreo
这是我的清单文件
<receiver
android:name="com.agribazaar.android.receivers.OTPReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
这是我的广播接收器课程
public class OTPReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
}
}
这为我解决了这个问题-我没有在运行时明确要求android.Manifest.permission.RECEIVE_SMS的权限。 在早期版本的android中,它工作正常,但是在android O设备中,我遇到了问题。
int SMS_PERMISSION_REQ_CODE_SUBMIT = 101;
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.RECEIVE_SMS)
!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(SmsActivity.this, new String[]{Manifest.permission.RECEIVE_SMS},
SMS_PERMISSION_REQ_CODE_SUBMIT);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.