监听短信数据库 实现自动填写到EditText
来源:互联网 发布:网络聚众赌博怎么处理 编辑:程序博客网 时间:2024/05/22 01:56
<span style="font-size:32px;color:#ff0000;">实</span><span style="font-size:32px;color:#ff0000;">现类似支付宝那样的获得短信动态码后自动填写到EditText </span>
private SmsContent contentObservable;
</pre><pre class="java" name="code">
contentObservable = new SmsContent(new Handler()); //注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, contentObservable);
</pre><pre class="java" name="code">
/* * 监听短信数据库 */ class SmsContent extends ContentObserver { private Cursor cursor = null; public SmsContent(Handler handler) { super(handler); // TODO Auto-generated constructor stub } @SuppressWarnings("deprecation") @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); // 读取收件箱中指定号码的短信 cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[] { "_id", "address", "read", "body" }, " address=? and read=?", new String[] { "10010", "0" }, "_id desc"); // 按id排序,如果按date排序的话,修改手机时间后,读取的短信就不准了 if (cursor != null && cursor.getCount() > 0) { ContentValues values = new ContentValues(); values.put("read", "1"); // 修改短信为已读模式 cursor.moveToNext(); int smsbodyColumn = cursor.getColumnIndex("body"); String smsBody = cursor.getString(smsbodyColumn); EditText editText = (EditText)findViewById(R.id.editText1); editText.setText(smsBody); } // 在用managedQuery的时候,不能主动调用close()方法, 否则在Android 4.0+的系统上, 会发生崩溃 if (Build.VERSION.SDK_INT < 14) { cursor.close(); } } }
1,在AndroidManifest当中需要的权限:
<!-- 发送短信--> <uses-permission android:name="android.permission.SEND_SMS" /> <!-- 阅读消息 --> <uses-permission android:name="android.permission.READ_SMS" /> <!-- 写入消息 --> <uses-permission android:name="android.permission.WRITE_SMS" /> <!-- 接收消息 --> <uses-permission android:name="android.permission.RECEIVE_SMS" />
2,在oncreate()方法中注册短信库的监听:
content = new SmsContent(new Handler()); //注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);
3,SmsContent自定义的ContentObserver:
0 0
- 监听短信数据库 实现自动填写到EditText
- 短信自动填写
- 自动填写获取到的短信验证码
- android获取短信验证码并自动填写的实现
- Android短信验证码自动填写的实现
- Android短信验证码自动填写功能的实现
- 利用CursorLoader实现短信验证码自动填写
- 短信验证码自动填写功能的实现
- 截取短信验证码,实现自动填写验证码
- Android短信验证码自动填写功能的实现
- 短信验证码自动填写
- 短信验证码自动填写
- 短信验证码自动填写
- 短信验证码自动填写
- android短信接收器的实现,可以实现自动填写短信验证码功能
- android--监听短信实现短信验证码自动填充
- 自动获取短信验证码并填写到编辑框中
- 读取短信自动填写验证码功能
- sync/fsync/fdatasync的简单比较
- 不能上外网,好蛋疼
- 黑马程序员——iOS开发——oc——NSString的学习
- 如何收集系统最繁忙时段的AWR性能报告
- 关于IEEE754 规格数与非规格数的探讨 | IEEE 754-1985 IEEE 754-2008
- 监听短信数据库 实现自动填写到EditText
- Map/Reduce
- 回调的例子
- rm -rf 后的文件如何恢复?
- 如何修改 MFC Dialog 窗体的类名???
- android 布局总结
- 央行首次回应“房贷松绑”:耐心等待文件 新乡房产网
- Nodejs in Action req.files undefined
- Android_SharedPerference+Editor保存信息_140929