在华为中自动从短信中将文本粘贴到编辑文本中

时间:2018-11-14 07:19:09

标签: java android broadcastreceiver huawei

我有一个扩展BroadcastReceiver并从SMS读取代码并将其自动粘贴到EditText中的类,它在 Samsung Nexus Emulator上完美运行,但现在在 华为 上不起作用,它会复制文本..但是用户需要手动粘贴。

这是我的代码:

public class SimpleSmsReciever extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle pudsBundle = intent.getExtras();
        Object[] pdus = (Object[]) Objects.requireNonNull(pudsBundle).get("pdus");
        String format = pudsBundle.getString("format");
        SmsMessage messages =SmsMessage.createFromPdu((byte[]) Objects.requireNonNull(pdus)[0],format);

       // check if sender is specificSender
        if(messages.getOriginatingAddress().equalsIgnoreCase("specificSender")) {
            // get only the numbers from the sms
            String number = messages.getMessageBody().replaceAll("[^0-9]", "");

            // place the code in the edit text
            if(VerifyActivity.isVerifyRunning) {
                VerifyActivity.et_code.setText(number);
            } else if(BaseActivity.isChangeNumberOn)
            {
                EditText et = BaseActivity.changeNumber.findViewById(R.id.et_code);
                et.setText(number);
            }

        }
    }

}

您是否知道可能是什么原因造成的?

  

它与华为设备有关还是我应该添加一些内容?   代码?

谢谢。

0 个答案:

没有答案