android监听短信并判断是否未读
2012-01-10 10:43
253 查看
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() {
// Sets the sms inbox's URI
Uri uriSMS = Uri.parse("content://sms");
Cursor c = getBaseContext().getContentResolver().query(uriSMS, null,
"read = 0", null, null);
// Checks the number of unread messages in the inbox
if (c.getCount() == 0) {
return false;
} else
return true;
}
<uses-permission id="android.permission.RECEIVE_SMS" />
<uses-permission id="android.permission.READ_SMS" />
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() {
// Sets the sms inbox's URI
Uri uriSMS = Uri.parse("content://sms");
Cursor c = getBaseContext().getContentResolver().query(uriSMS, null,
"read = 0", null, null);
// Checks the number of unread messages in the inbox
if (c.getCount() == 0) {
return false;
} else
return true;
}
<uses-permission id="android.permission.RECEIVE_SMS" />
<uses-permission id="android.permission.READ_SMS" />
相关文章推荐
- android监听短信并判断是否未读
- android判断短信是否发送成功[动态注册广播]
- 如何判断android 短信发送(sendTextMessage)是否成功
- 如何判断android 短信发送(sendTextMessage)是否成功
- Android网络状态的监听+判断是否前台进程+ListView的滚动底部
- android EditText监听与判断是否清除
- 监听短信并判断是否未读
- Android RecyclerView滑动监听,判断是否滑动到了最后一个item
- android发送短信带监听是否发送成功功能
- Android学习 - 判断手机是否为双卡并发短信
- 我的Android心得(4)--监听电话和短信是否来自关注对象--contentObserver
- android群发短信时判断短信是否发送成功
- Android ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android】ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android发送短信,并监听短信发送后是否发送成功的实现方法
- Android工具之判断uri字符串是否网络资源同时设置进度条第二进度,同时监听播放卡顿
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- 【Android】ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android ListView监听上下滑动(判断是否显示返回顶部按钮)
- Android判断是否飞行模式已经监听飞行模式