android监听短信并判断是否未读
来源:互联网 发布:阿里云登录账号是什么 编辑:程序博客网 时间:2024/06/05 02:14
- final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
- BroadcastReceiver SMSbr = new BroadcastReceiver() {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- Bundle bundle = intent.getExtras();
- if (bundle != null) {
- Object[] pdus = (Object[]) bundle.get("pdus");
- final SmsMessage[] messages = new SmsMessage[pdus.length];
- for (int i = 0; i < pdus.length; i++)
- messages[i] = SmsMessage
- .createFromPdu((byte[]) pdus[i]);
- if (messages.length > -1) {
- .
- String smsToast = "New SMS received from "
- + messages[0].getOriginatingAddress() + "\n'"
- + messages[0].getMessageBody() + "'";
- Toast.makeText(context, smsToast, Toast.LENGTH_LONG)
- .show();
- }
- }
- }
- };
-
- IntentFilter SMSfilter = new IntentFilter(SMS_RECEIVED);
- this.registerReceiver(SMSbr, SMSfilter);
-
- private boolean checkSMS() {
-
- Uri uriSMS = Uri.parse("content://sms");
- Cursor c = getBaseContext().getContentResolver().query(uriSMS, null,
- "read = 0", null, null);
-
- if (c.getCount() == 0) {
- return false;
- } else
- return true;
- }
-
- <uses-permission id="android.permission.RECEIVE_SMS" />
- <uses-permission id="android.permission.READ_SMS" />