我有一个扩展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);
}
}
}
}
您是否知道可能是什么原因造成的?
它与华为设备有关还是我应该添加一些内容? 代码?
谢谢。