1
申し訳ありませんが、これは重複した質問かもしれませんが、私はこの辺りで私の頭を包み込むために夕方を過ごしましたが、これについても少し光を当てるかもしれない他の投稿を見つけることができないようです。もう少し目のペアが何かを見つけるかもしれない。ContactsContract.Data暗黙的な結合列は機能しませんか?
ContactsContract.DataのAPIドキュメントから、特定のフィールドを指定すると、ライブラリはいくつかの魔法を行い、バックグラウンドで暗黙の参加を実行するという印象を受けています。
私のために働いていないようです。これが実行されると
import android.provider.ContactsContract.CommonDataKinds.Phone;
private Cursor getContacts()
{
// Run query
Uri uri = Phone.CONTENT_URI;
String[] projection = new String[] {
Phone.DISPLAY_NAME,
Phone.NUMBER,
Phone.CONTENT_ITEM_TYPE,
Phone.HAS_PHONE_NUMBER,
Phone.IN_VISIBLE_GROUP
};
String selection = Phone.HAS_PHONE_NUMBER + " = '1' AND " + Phone.IN_VISIBLE_GROUP + " = '1'";
String[] selectionArgs = null;
String sortOrder = Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
}
、それはで死ぬ:
You can use all columns defined for ContactsContract.Data as well as the following aliases.
は、私が何をしないのです:ContactsContract.CommonDataKinds.Phoneのためのドキュメントから
java.lang.IllegalArgumentException: Invalid column vnd.android.cursor.item/phone_v2
それははっきりと述べていますか?