我需要調用最近的通話清單和最喜愛的通話清單上的各個按鈕的點擊,並需要在我自己的列表layout.I是新的Android和有很多麻煩this.can任何人請幫助我..謝謝提前...如何檢索android中最近的通話列表和收藏夾列表?
5
A
回答
5
爲了獲取最近的通話列表,你可以在android中使用CallLog。 Here是一個很好的教程。 This也有幫助。
您可以使用它像這樣所有呼出電話:
Cursor cursor = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,null, android.provider.CallLog.Calls.TYPE+"="+android.provider.CallLog.Calls.OUTGOING_TYPE, null,null);
對於所有類型的呼叫,使用它像:
Cursor cursor = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,null, null, null,null);
6
一些額外的,有用的代碼:
getFavoriteContacts:
Map getFavoriteContacts(){
Map contactMap = new HashMap();
Uri queryUri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.STARRED};
String selection =ContactsContract.Contacts.STARRED + "='1'";
Cursor cursor = getContentResolver().query(queryUri, projection, selection,null,null);
while (cursor.moveToNext()) {
String contactID = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID));
intent.setData(uri);
String intentUriString = intent.toUri(0);
String title = (cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
contactMap.put(title,intentUriString);
}
cursor.close();
return contactMap;
}
getRecentContacts:
Map getRecentContacts(){
Map contactMap = new HashMap();
Uri queryUri = android.provider.CallLog.Calls.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
CallLog.Calls._ID,
CallLog.Calls.NUMBER,
CallLog.Calls.CACHED_NAME,
CallLog.Calls.DATE};
String sortOrder = String.format("%s limit 500 ", CallLog.Calls.DATE + " DESC");
Cursor cursor = getContentResolver().query(queryUri, projection, null,null,sortOrder);
while (cursor.moveToNext()) {
String phoneNumber = cursor.getString(cursor
.getColumnIndex(CallLog.Calls.NUMBER));
String title = (cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME)));
if(phoneNumber==null||title==null)continue;
String uri = "tel:" + phoneNumber ;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
String intentUriString = intent.toUri(0);
contactMap.put(title,intentUriString);
}
cursor.close();
return contactMap;
}
相關問題
- 1. 如何創建收藏夾列表iphone
- 2. 在JComboBox中實現最近使用的或收藏夾下拉列表
- 3. 在ApplicationUser中創建收藏夾列表
- 4. 創建我的收藏夾列表
- 5. 使用tweet sharp的收藏夾列表
- 6. 在Android中的「收藏夾列表」 - 重新更改評級欄
- 7. API Java列表和收藏
- 8. 收藏列表和字典
- 9. 從最近的日期檢索列表中的數據java
- 10. 如何從SQlite中檢索數據作爲'收藏夾列表'在android中存儲?
- 11. 從多選列表框中檢索最近SelectedItem的值
- 12. 通過列表檢索其他列表
- 13. Android:如何獲取最近的任務列表和origActivity?
- 14. SoundCloud Api - 如何在收藏夾中顯示播放列表
- 15. Rails:最近消息的用戶列表(對話索引)
- 16. 如何訪問iPhone Phone應用程序中的最近通話列表?
- 17. 收藏到列表中tcl
- 18. 如何從會話檢索通用列表?
- 19. 如何在Android Studio中清除最近的項目列表?
- 20. 檢索通訊組列表
- 21. 無法檢索最近添加到播放列表的視頻
- 22. 如何操作:添加到收藏夾並查看收藏列表
- 23. VBA如何清除Outlook 2010中的收藏夾文件夾列表?
- 24. 定期從列表中檢索列:通過導軌中的表
- 25. 最近的文件列表
- 26. NSMenu - 最近的列表
- 27. 如何檢索列表
- 28. 如何檢索tableadapters列表?
- 29. Android最好的方法來存儲和檢索數據列表
- 30. Firebase:從Android上的iOS檢索最近的電子郵件列表
你好Hiral,我使用的是相同的查詢來獲取所有類型的通話記錄,但我有一個小問題,當談到雙卡設備。我的代碼在雙SIM卡設備上無法正常工作。你能幫我嗎? – Scorpion