Android实现自动填充验证码
来源:互联网 发布:初学者羽毛球拍知乎 编辑:程序博客网 时间:2024/06/05 08:10
Android实现自动填充验证码
实现步骤:
- 创建Receiver
- 静态注册Receiver
- 监听Activity回调获取验证码
- 验证码的解析与填充
1.Receiver的创建与回调的创建
public class MyReceiver extends BroadcastReceiver { private static final String TAG = "MainActivityInfo"; public CallBack callBack ; public interface CallBack{ void setMsg(String s); } @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) { Log.i(TAG, "onReceive: "); StringBuilder builder = new StringBuilder(); //接收由SMS传过来的数据 Bundle bundle = intent.getExtras(); //判断是否由数据 if (bundle != null) { //通过pdus可以接收到的所有短信消息 Object[] pdus = (Object[]) bundle.get("pdus"); //构建短信对象array,并依据收到短信长度来构建array的大小 SmsMessage[] smsMessages = new SmsMessage[pdus.length]; for (int i = 0; i < smsMessages.length; i++) { smsMessages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); } //将收来的短信合并自定义短信于StringBuild当中 for (SmsMessage message : smsMessages) { builder.append("短信来源"); //获取短信的号码 builder.append(message.getDisplayOriginatingAddress()); //获取短信的内容 builder.append("\n短信内容\n"); builder.append(message.getDisplayMessageBody()); } System.out.println(builder.toString()); callBack = MainActivity.callBack; callBack.setMsg(builder.toString()); } } }}
2.静态注册Receiver(注册之后才可以接收到收到的短信)
<receiver android:name=".MyReceiver"><intent-filter android:priority="800"> //优先级 <action android:name="android.provider.Telephony.SMS_RECEIVED" /></intent-filter></receiver>
3.Activity通过回调获取到短信
public class MainActivity extends AppCompatActivity implements MyReceiver.CallBack{ private TextView tv_content ; public static MyReceiver.CallBack callBack ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); callBack = this; Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); SharedPreferences preferences = getSharedPreferences("Brioal", MODE_WORLD_READABLE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("Desc", "监听收到的短信,可用于自动填写验证码"); editor.apply(); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this, SummaryActivity.class)); } }); tv_content = (TextView) findViewById(R.id.main_tv_content); } @Override public void setMsg(String s) { ///短信内容的解析与填充 ... }
0 0
- Android实现自动填充验证码
- Android实现自动填充短信验证码
- android--监听短信实现短信验证码自动填充
- 自动填充短信验证码实现方式
- 自动填充短信验证码实现方式
- Android自动填充短信验证码
- Android自动填充短信验证码
- Android自动填充短信验证码
- Android 短信验证码自动填充
- android短信验证码自动填充
- Android短信验证码自动填充
- Android自动填充短信验证码
- Android自动填充短信验证码
- Android 自动填充短信验证码
- Android自动填充短信验证码
- Android开发(43) android 自动填充短信验证码
- 短信验证码自动填充
- 短信验证码自动填充
- The important thing in life is to have a great aimand the determination to attain it.
- MediaWiki功能使用
- Java环境搭建
- Android无线调试(Android wireless debugging)
- Spark集群运行模式
- Android实现自动填充验证码
- Android Studio插件推荐(PreIOC,GsonFormat)
- [ULK11]信号(三):从信号传递到原程序恢复执行
- 由使用多态引发的一些思考
- UIDatePicker得到的时间中怎么去掉时分秒(字符串操作知识拓展)--iOS开发
- Linux 线程同步的三种方法
- day24
- android ContentProviders
- 使用 Cocos2d-x 和粒子编辑器实现场景特效