在 Android 中自动从短信中选择特定文本
Pick specific text automatically from SMS in Android
我正在尝试通过我的应用程序验证 6 位数字。我想在收到特定短信后自动执行此操作。
我有一个单独的广播接收器文件可以接收消息。我收到它然后停止广播接收器。
我有两个问题:
我不确定如何在打开的 activity 中插入 6 位数字?我是否需要将 6 位数字放在某些共享首选项中,并使用 activity?
中的计时器继续检查是否有任何值
我不知道如何从短信中提取 6 位数字?文本格式是这样的:"xxxx is the One Time Password (OTP) for your mobile number."
有人可以帮我解决这个问题吗?
谢谢!
I am not sure on how to insert the 4 digit number in an activity which is Opened? Do I need to put the 4 digit in some shared preference and keep checking if there is any value using a timer from the activity?
在activity的onResume
中注册你的SMS BroadcastReceiver,然后在onPause
中取消注册。
I am not sure on how to extract the 4 digit from SMS? The text format is this: "xxxx is the One Time Password (OTP) for your mobile number."
public void onReceiver(Context context, Intent intent){
Object[] pdus=(Object[])intent.getExtras().get("pdus");
SmsMessage shortMessage=SmsMessage.createFromPdu((byte[]) pdus[0]);
Log.d("SMSReceiver","SMS message text: "+
shortMessage.getDisplayMessageBody()); // Here you get body of it, extract data whatever you need.
}
我正在尝试通过我的应用程序验证 6 位数字。我想在收到特定短信后自动执行此操作。
我有一个单独的广播接收器文件可以接收消息。我收到它然后停止广播接收器。
我有两个问题:
我不确定如何在打开的 activity 中插入 6 位数字?我是否需要将 6 位数字放在某些共享首选项中,并使用 activity?
中的计时器继续检查是否有任何值
我不知道如何从短信中提取 6 位数字?文本格式是这样的:"xxxx is the One Time Password (OTP) for your mobile number."
有人可以帮我解决这个问题吗?
谢谢!
I am not sure on how to insert the 4 digit number in an activity which is Opened? Do I need to put the 4 digit in some shared preference and keep checking if there is any value using a timer from the activity?
在activity的onResume
中注册你的SMS BroadcastReceiver,然后在onPause
中取消注册。
I am not sure on how to extract the 4 digit from SMS? The text format is this: "xxxx is the One Time Password (OTP) for your mobile number."
public void onReceiver(Context context, Intent intent){
Object[] pdus=(Object[])intent.getExtras().get("pdus");
SmsMessage shortMessage=SmsMessage.createFromPdu((byte[]) pdus[0]);
Log.d("SMSReceiver","SMS message text: "+
shortMessage.getDisplayMessageBody()); // Here you get body of it, extract data whatever you need.
}