<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){
csr = getApplicationContext().getContentResolver().query(Uri.parse("content://mms/inbox"), null,
"read = 0", null, null);
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>
<span style="font-size:18px; color:#ff0000"><strong>用于擷取未讀短信未接電話數目</strong></span><br>
</pre>