Dav*_*vid 5 performance android android-contentresolver android-contentprovider android-contacts
我在从设备联系人获取地址时遇到问题。通讯录应用程序随Android设备的不同而不同。例如,据我所见,联想中的联系人应用程序已分隔字段以输入街道,区域,邮政编码等,但我的nexus7和moto x中的联系人应用程序只有一个字段作为地址。在我的应用中,我有单独的文本视图来显示区域,州和邮政编码。我在onActivityResult中使用了以下代码。
if(resultCode == RESULT_OK){
Uri contactData = intent.getData();
Cursor c = getContentResolver().query(contactData, null, null, null, null);
if (c.moveToFirst()) {
//to get full address
//String address = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS));
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME));
String Street = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
String City = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
String State = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
String Zipcode = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
String District = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
System.out.print("name----" + name);
System.out.print("Street----" + Street);
System.out.print("City----" + City);
System.out.print("State----" + State);
System.out.print("Zipcode----" + Zipcode);
System.out.print("District----" + District);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我在字符串“ Street”中获取了整个地址。示例街---- 123,ABC街,xyz,123456。其余的City,State等为空。有人对此有解决方案吗?
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |