3

Das ist meine Menifest Dateiich nicht in der Lage bin zu empfangen „android.provider.Telephony.SMS_RECEIVED“ diese Sendung im 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> 

Das ist meine Broadcast-Empfängerklasse

public class OTPReceiver extends BroadcastReceiver { 
    @Override 
public void onReceive(Context context, Intent intent) {   
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){ 

} 
} 
+0

Haben Sie Ihre App Standard-SMS-App ?? –

+1

überprüfen https://stackoverflow.com/questions/46511807/run-service-on-incoming-sms-in-android-oreo –

+0

Nein, es ist nicht Standard-SMS-App. Ich brauche nur SMS für OTP. –

Antwort

2

Das behebt das Problem für mich - Ich habe nicht explizit zur Laufzeit für android.Manifest.permission.RECEIVE_SMS Berechtigung angefordert. In früheren Versionen von Android funktionierte es gut, aber in Android O-Geräte habe ich das Problem.

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); 
} 
Verwandte Themen