Android 获取未读短信未接电话数目
引用:http://blog.csdn.net/zhuangxujun/article/details/7035430
- <pre name="code" class="java"></pre><pre name="code" class="java"><pre name="code" class="java">if (mIntentReceiver == null) {
- mIntentReceiver = new MissedCallIntentReceiver();
- final IntentFilter myFilter = new IntentFilter();
- myFilter.addAction("com.android.phone.NotificationMgr.MissedCall_intent");
- getApplicationContext().registerReceiver(mIntentReceiver, myFilter);
- }
- getApplicationContext().getContentResolver().registerContentObserver(Uri.parse("content://mms-sms/"), true,
- new newMmsContentObserver(getApplicationContext(), myHandler)); </pre><br>
- <pre></pre>
- <pre name="code" class="java"> private class MissedCallIntentReceiver extends BroadcastReceiver {</pre><pre name="code" class="java"> @Override
- public void onReceive(Context context, Intent intent) {
- missedCallCount=intent.getIntExtra(MISSECALL_EXTRA, 0);//未接电话数目
- }
- }
- private void findNewSmsCount(Context ctx){
- Cursor csr = null;
- try {
- csr = getApplicationContext().getContentResolver().query(Uri.parse("content://sms"), null,"type = 1 and read = 0", null, null);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- csr.close();
- }
- newSmsCount=csr.getCount(); //未读短信数目
- Log.v(TAG,"newSmsCount="+newSmsCount);
- }
- private void findNewMmsCount(Context ctx){
- Cursor csr = null;
- try {
- csr = getApplicationContext().getContentResolver().query(Uri.parse("content://mms/inbox"), null,
- "read = 0", null, null);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- csr.close();
- }
- newMmsCount=csr.getCount();//未读彩信数目
- }
- //监控短信,彩信数目变化
- public class newMmsContentObserver extends ContentObserver{
- private Context ctx;
- public newMmsContentObserver(Context context, Handler handler) {
- super(handler);
- ctx = context;
- }
- @Override
- public void onChange(boolean selfChange){
- Log.v(TAG,"newMmsContentObserver onChange:");
- newMmsCount=0;
- newSmsCount=0;
- findNewMmsCount(ctx);
- findNewSmsCount(ctx);
- }
- }</pre><br>
- <br>
- <pre></pre>
- <br>
- <span style="font-size:18px; color:#ff0000"><strong>用于获取未读短信未接电话数目</strong></span><br>
- </pre>