天天看點

Android 擷取未讀短信未接電話數目

<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>  

下一篇: ab測試

繼續閱讀