Android 无法在我的EditText上自动设置OTP消息
一切都很好,我的设备上也有otp,但我面临的问题不是在我的editText上自动设置的。我是android新手,这是我的getSMSclassAndroid 无法在我的EditText上自动设置OTP消息,android,Android,一切都很好,我的设备上也有otp,但我面临的问题不是在我的editText上自动设置的。我是android新手,这是我的getSMSclass public class GetIncomingSms extends BroadcastReceiver { SmsMessage currentMessage; final SmsManager sms = SmsManager.getDefault(); @Override public void onReceive(Context contex
public class GetIncomingSms extends BroadcastReceiver
{
SmsMessage currentMessage;
final SmsManager sms = SmsManager.getDefault();
@Override
public void onReceive(Context context, Intent intent)
{
if(intent.getAction() == "android.provider.Telephony.SMS_RECEIVED") {
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String format = bundle.getString("format");
currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i], format);
} else {
currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
}
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
try {
if (senderNum.equals("'myphonenumber'") ) {
Otp Sms = new Otp();
Sms.recivedSms(message);
}
} catch (Exception e) {
}
}
}
} catch (Exception e) {
}
}
}
}
检查这个网站这里是如何自动获得otp的例子 改变你的想法
Otp Sms = new Otp();
Sms.recivedSms(message);
到
此外,如果要在edittext上设置otp,请确保它是静态的:
public void recivedSms(String message)
{
System.out.println("Register Otp = "+message);
otp.setText(message);
}
到
Otp.recivedSms(message);
public void recivedSms(String message)
{
System.out.println("Register Otp = "+message);
otp.setText(message);
}
public static void recivedSms(final String message)
{
otp.setText(message);
}