回答
http://developer.android.com/reference/android/provider/CallLog.Calls.html
看看這個CallLog
類。所有你需要的是查詢電話的任何電話,然後提取錯過的一個(或者當你在查詢電話時,在選擇參數中這樣做)。這同樣適用於消息。短信存儲在內容提供商"content://sms/"
然後只是得到查詢返回的光標中的行數。 :)
我希望這可以幫助。
編輯:未接來電:
String[] projection = { CallLog.Calls.CACHED_NAME, CallLog.Calls.CACHED_NUMBER_LABEL, CallLog.Calls.TYPE };
String where = CallLog.Calls.TYPE+"="+CallLog.Calls.MISSED_TYPE;
Cursor c = this.getContentResolver().query(CallLog.Calls.CONTENT_URI, selection,where, null, null);
c.moveToFirst();
Log.d("CALL", ""+c.getCount()); //do some other operation
if(c.getCount() == SOME_VALUE_TO_START_APP_ONE)//...etc etc
在where子句您數據的選擇設定的條件。在我們的例子中,我們需要輸入等於CallLog.Calls.MISSED_TYPE
的所有內容。我們選擇項目的來電者名稱和他的號碼,當然你可以指定更多的信息來查詢,如移動,家庭,工作等號碼的類型。 表達相當於SQL查詢,像:SELECT CACHED_NAME, CACHED_NUMBER_LABEL, TYPE FROM CONTENT_URI WHERE TYPE=MISSED_TYPE
這需要權限被添加到清單
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
用於查詢手機短信ContentProvider
:在
Uri sms_content = Uri.parse("content://sms");
Cursor c = this.getContentResolver().query(sms_content, null,null, null, null);
c.moveToFirst();
Log.d("SMS COUNT", ""+c.getCount()); //do some other operation
//Here proceed with the what you wanted
if(c.getCount() == SOME_VALUE_TO_START_APP_ONE)//...etc etc
你可以去更深像指定短信類型的內容樹,如:content://sms/sent
或content://sms/inbox
,併爲的第二個參數添加投影和選擇方法like,name,person,message的狀態(如Calls示例)。
這需要權限:
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
因爲我沒有足夠的信譽來回答@Prasad問題評論約
錯誤 - > getContentResolver()是未定義的類型新的Runnable() {}
getContentResolver()是應用程序上下文的一部分,因此如果您在使用onReceive()函數的情況下使用BroadcastReceiver,請使用上下文
@Override
public void onReceive(Context context, Intent intent) {
context.getContentResolver()
}
如果你使用上面的代碼的活動裏面,那麼你可以使用
getApplicationContext().getContentResolver()
也請務必使用[按Ctrl + Shift + O(O不爲零)組織進口
Key Shortcut for Eclipse Imports
我希望這會幫助你,幫助別人,我希望有更多的,這是不是對我們的社會規則。
- 1. Android短信和未接來電contentreceiver不工作後,我讀取短信/未接電話
- 2. 短信和電話的URL計劃
- 3. 如何從我的Android設備獲取未接短信/未接來電?
- 4. 廣播接收器 - 短信和電話
- 5. 如何從另一個電話讀取一個電話的未讀短信
- 6. Android:如何從傳入的短信中獲取電話號碼?
- 7. 如何從短信中獲取電話號碼android
- 8. 如何獲取設備上每條短信的電話號碼?
- 9. 獲取聯繫人短信數量和聯繫電話時間
- 10. 如何在收到短信時獲取未讀短信?
- 11. 獲取乾淨的短信會話列表和短信
- 12. 如何統計Android中未接電話的數量
- 13. 獲取短信/彩信的電話號碼
- 14. arduino和GSM模塊sim900如何獲取短信的電話號碼?
- 15. 在應用程序中獲取短信統計信息
- 16. 應用程序發送多個短信接收電話/短信
- 17. 如何獲取Telegram Bot統計信息?
- 18. 如何獲取播放統計信息
- 19. Scapy - 如何獲取統計信息?
- 20. 通過內容獲取每條短信的電話號碼://短信/
- 21. 訪問iPhone未接電話,短信,推送通知等
- 22. 只發送短信給未接電話一次Android Eclipse
- 23. 如何區分未接電話和拒絕接聽電話?
- 24. 發送短信的未接來電
- 25. 在Windows Mobile中獲取未接電話
- 26. 獲取未接電話通知
- 27. 如何獲取短信欄?
- 28. 替代openUrl的短信和電話
- 29. WP8電話和短信事件
- 30. ASP.NET和發送短信/撥打電話
感謝您的回覆。你能指點我一些教程嗎?我很難理解文檔,因爲我是一個真正的NooB:( –
@MayuMayooresan我爲你提供了我爲你寫的例子,希望我的簡短說明足夠清楚。祝你好運。 –
非常感謝:)噢,搖滾:) –