2013-12-22 38 views
0

我想所有的電話號碼在通訊錄中收藏菜單, 這是我的代碼安卓:在收藏夾中的聯絡人的電話號碼

這個代碼的一部分讓我的所有聯繫人的名字和ID

ContentResolver cr = getContentResolver(); 
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
if (cur.getCount() > 0) { 
    while (cur.moveToNext()) { 
     String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); 
     String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
    } 
} 

,這其中我得到我的號碼

phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"="+ CheckedArray.get(i), null, null); 
phones.moveToNext(); 
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
String Message = DbManager.getInstance().userName+" wants to share his OneLinx profile with you"; 
try { 
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(phoneNumber, null, Message, null, null);  
} catch (Exception e) { 
    Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show(); 
    e.printStackTrace(); 
}  
phones.close(); 

,但在我的應用程序的其他部分我想只接觸在收藏的視頻,是有辦法做到這一點?我可以在這裏改變一些東西,只獲得最愛,不是所有的聯繫人?

回答

0

我建議您使用ContentProvider.query方法的參數選擇和selectionArgs。因此,您可以過濾那些「已加星標」(或收藏夾)的聯繫號碼。

在選擇參數中,只需添加一個包含Phone.STARRED +「= 1」的字符串,以便提供者爲您提供已加星標的聯繫人。

相關問題