现在,我正在尝试从个人资料中获取用户地址。
我的源代码在这里
String[] projection ={ ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS };
Cursor mCursor = getContentResolver().query(Uri.withAppendedPath(
ContactsContract.Profile.CONTENT_URI,
ContactsContract.Contacts.Data.CONTENT_DIRECTORY),
projection,
null,
null,
null);
成功获取用户个人资料,“mCursor”从用户个人资料中获取所有信息。 那么有人知道从个人资料中获取地址吗?
答案 0 :(得分:0)
我找到了自己的方法。 “vnd.android.cursor.item / postal-address_v2”是地址的mimetype。它的类型代表HOME,WORK,OTHER和CUSTOME。您可以从下面的源代码中获取Profile中的地址。但请注意,只有OS4.00及更多版本具有Profile类。
//Colums(address and its type)
String[] projection = {
ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS,
ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
};
profileCursor = null;
try{
//make cursor
profileCursor = getContentResolver().query(
Uri.withAppendedPath(
ContactsContract.Profile.CONTENT_URI,
ContactsContract.Contacts.Data.CONTENT_DIRECTORY),
projection,
ContactsContract.CommonDataKinds.StructuredPostal.MIMETYPE + " =? ",
// This is the mymetype of address
new String[]{"vnd.android.cursor.item/postal-address_v2"},
null);
}catch(NoClassDefFoundError e){
e.printStackTrace();
}