欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法

 更新時間:2014年08月20日 14:59:48   投稿:shichen2014  
這篇文章主要介紹了Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法,是Android程序開發(fā)中非常常見的重要功能,需要的朋友可以參考下

本文實例展示了Android實現(xiàn)獲取未接來電和未讀短信數(shù)量的方法,在Android程序開發(fā)中非常常見,是非常實用的功能,現(xiàn)分享給大家供大家參考。具體如下:

一、未讀短信
 
首先注冊O(shè)bserver,當(dāng)有新短信或彩信來的時候會調(diào)用 onChange方法,我們可以在onChange方法中去獲取未讀短信和彩信,然后做一些UI上的處理!

具體功能代碼如下:

private ContentObserver newMmsContentObserver = new ContentObserver(new Handler()) { 
  public void onChange(boolean selfChange) { 
    int mNewSmsCount = getNewSmsCount() + getNewMmsCount(); 
  } 
}; 
private void registerObserver() { 
  unregisterObserver(); 
  getContentResolver().registerContentObserver(Uri.parse("content://sms"), true, 
      newMmsContentObserver); 
  getContentResolver().registerContentObserver(MmsSms.CONTENT_URI, true, 
      newMmsContentObserver); 
} 
private synchronized void unregisterObserver() { 
  try { 
    if (newMmsContentObserver != null) { 
      getContentResolver().unregisterContentObserver(newMmsContentObserver); 
    } 
    if (newMmsContentObserver != null) { 
      getContentResolver().unregisterContentObserver(newMmsContentObserver); 
    } 
  } catch (Exception e) { 
    Log.e(TAG, "unregisterObserver fail"); 
  } 
} 

得到未讀短信數(shù)量:

private int getNewSmsCount() { 
  int result = 0; 
  Cursor csr = getContentResolver().query(Uri.parse("content://sms"), null, 
      "type = 1 and read = 0", null, null); 
  if (csr != null) { 
    result = csr.getCount(); 
    csr.close(); 
  } 
  return result; 
} 

獲取未讀彩信數(shù)量:

private int getNewMmsCount() { 
  int result = 0; 
  Cursor csr = getContentResolver().query(Uri.parse("content://mms/inbox"), 
      null, "read = 0", null, null); 
  if (csr != null) { 
    result = csr.getCount(); 
    csr.close(); 
  } 
  return result; 
} 

二、未接來電

未接來電不能用 Observer監(jiān)聽,不過當(dāng)有新的未接來電時,系統(tǒng)會發(fā)送一個廣播com.android.phone.NotificationMgr.MissedCall_intent(鎖屏上顯示的未接來電數(shù)量就是通知監(jiān)聽這個廣播實現(xiàn)的)

具體功能代碼如下:

final IntentFilter filter = new IntentFilter(); 
filter.addAction("com.android.phone.NotificationMgr.MissedCall_intent"); 
final Application application = getApplication(); 
application.registerReceiver(new BroadcastReceiver() { 
  @Override 
  public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    if (action != null && "com.android.phone.NotificationMgr.MissedCall_intent".equals(action)) { 
      int mMissCallCount = intent.getExtras().getInt("MissedCallNumber"); 
    } 
  } 
}, filter); 

廣播只是當(dāng)有新的未接來電時才會發(fā)送,但是如果有舊的未接來電沒有讀取時,上面的廣播就得不到數(shù)據(jù)了,那就必須得從數(shù)據(jù)庫中查找了。

功能代碼如下:

private int readMissCall() { 
  int result = 0; 
  Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, new String[] { 
      Calls.TYPE 
    }, " type=? and new=?", new String[] { 
        Calls.MISSED_TYPE + "", "1" 
    }, "date desc"); 
 
  if (cursor != null) { 
    result = cursor.getCount(); 
    cursor.close(); 
  } 
  return result; 
} 

相信本文所述實例對于大家的Android程序開發(fā)能起到一點參考借鑒作用。

相關(guān)文章

  • 讓Android中RadioGroup不顯示在輸入法上面的辦法

    讓Android中RadioGroup不顯示在輸入法上面的辦法

    在Android開發(fā)中,發(fā)現(xiàn)一個問題,打開輸入法導(dǎo)致下面的radioGroup的位置發(fā)生了變化,被頂?shù)搅溯斎敕ǖ纳厦妫敲丛撊绾谓鉀Q呢?下面來看看。
    2016-08-08
  • Android?Notification使用教程詳解

    Android?Notification使用教程詳解

    這篇文章主要介紹了Android?Notification使用,通知的使用的內(nèi)容還是比較多的,此篇文章將會盡可能詳細的介紹Notification的內(nèi)容,需要的朋友可以參考下
    2022-07-07
  • android中Handle類的用法實例分析

    android中Handle類的用法實例分析

    這篇文章主要介紹了android中Handle類的用法,以實例形式較為詳細的分析了基于Handle類線程執(zhí)行的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 利用Android實現(xiàn)一種點贊動畫效果的全過程

    利用Android實現(xiàn)一種點贊動畫效果的全過程

    最近做項目需要實現(xiàn)點贊動畫,下面這篇文章主要給大家介紹了關(guān)于利用Android實現(xiàn)一種點贊動畫效果的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Android多邊形區(qū)域掃描線種子填充算法的示例

    Android多邊形區(qū)域掃描線種子填充算法的示例

    這篇文章主要介紹了Android多邊形區(qū)域掃描線種子填充算法的示例,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧
    2018-05-05
  • Android videoview搶占焦點的處理方法

    Android videoview搶占焦點的處理方法

    這篇文章主要為大家詳細介紹了Android videoview搶占焦點的處理方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Android如何禁止向EditText控件中輸入內(nèi)容詳解

    Android如何禁止向EditText控件中輸入內(nèi)容詳解

    EditText是接受用戶輸入信息的最重要控件。下面這篇文章主要給大家介紹了關(guān)于Android如何禁止向EditText控件中輸入內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • android自定義AlertDialog對話框

    android自定義AlertDialog對話框

    這篇文章主要為大家詳細介紹了android自定義AlertDialog的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android AIDL實現(xiàn)進程間通信探索

    Android AIDL實現(xiàn)進程間通信探索

    這篇文章主要為大家詳細介紹了Android AIDL實現(xiàn)進程間通信的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ActivityManagerService廣播注冊與發(fā)送示例解析

    ActivityManagerService廣播注冊與發(fā)送示例解析

    這篇文章主要為大家介紹了ActivityManagerService廣播注冊與發(fā)送示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論