2016-09-02 4 views
0

프래그먼트에이 브로드 캐스트 리시버를 등록하고 자동으로 otp를 읽지 만 onRecieve() 메소드에 도달하지 않았습니다. 도와주세요.OTP 브로드 캐스트 리시버가 프래그먼트에서 작동하지 않습니다.

IntentFilter intentFilter = new IntentFilter("SmsMessage.intent.MAIN"); 

    mIntentReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      String msg = intent.getStringExtra("get_msg"); 
      msg = msg.replace("\n", ""); 
      String body = msg.substring(msg.lastIndexOf(":") + 1, msg.length()); 
      String pNumber = msg.substring(0, msg.lastIndexOf(":")); 
      mOtp1.setText(pNumber.trim()); 
      if (pNumber.equalsIgnoreCase(sms)) { 
       mAutoImg.setVisibility(View.VISIBLE); 
      } 
     } 
    }; 
    getContext().registerReceiver(this.mIntentReceiver, intentFilter); 
+0

'getContext()'대신'getActivity()'를 사용하십시오. – Piyush

답변

0

텐트 필터는 잘못된

나는 내 텐트 필터를 교체해야
IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED"); 
  • 을 사용하고 작동되는 코드의 나머지 나를 위해 잘 작동합니다.
관련 문제