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));
private class MissedCallIntentReceiver extends BroadcastReceiver {
@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); } }
用于获取未读短信未接电话数目
Android 获取未读短信未接电话数目
最新推荐文章于 2024-01-16 15:32:32 发布