【问题标题】:OTP broadcast receiver not working in fragmentOTP 广播接收器在片段中不起作用
【发布时间】:2016-09-02 12:31:49
【问题描述】:

我已将此广播接收器注册到片段中,并等待自动读取 otp 但从未到达 onRecieve() 方法。请帮忙。

    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);

【问题讨论】:

  • 使用getActivity() 而不是getContext()

标签: android android-intent sms broadcast


【解决方案1】:

意图过滤器使用错误

IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
  • 我已经替换了我的 Intent 过滤器,它对我来说工作正常,其余代码正在工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多