연락처 목록에서 일부 연락처의 주소를 가져와야합니다. READ_CONTACTS 권한을 사용하지 않고 연락처의 주소를 찾는 방법은 무엇입니까?
Cursor cursor = getContentResolver().query(contactDataUri, null,null, null, null);
StringBuilder address = new StringBuilder();
if (cursor != null && cursor.moveToFirst()) {
// read street
int streetIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET);
String street = cursor.getString(streetIndex);
// read city etc .....
}
는이 코드가 작성
를 기반으로했다 :onActivityResult
에 결과를 수신
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_TYPE);
startActivityForResult(intent, ActivitiesRequestCodes.REQUEST_CODE_PICK_CONTACT);
, 나는 연락처의 주소를 얻기 위해 결과를 분석 : 나는 그렇게하기 위해 ACTION_PICK 의도를 사용 : onActivityResult() 콜백에 전달 된 결과 Intent에는 선택한 연락처 데이터를 가리키는 content : URI가 포함되어 있습니다. 이 응답은 앱에 READ_CONTACTS 권한이없는 경우에도 해당 연락처 데이터를 읽을 수 있도록 앱에 임시 사용 권한을 부여합니다. (http://developer.android.com/guide/components/intents-common.html#Contacts)
모든 것이 삼성 기기에서 완벽하게 작동하지만 깜짝 선물! 이 java.lang.SecurityException :에 의한
: htc의 장치에서 구문 분석 코드는 보안 예외와 충돌 권한 거부 : 읽기 com.android.providers.contacts.HtcContactsProvider2 URI 내용 : //com.android.contacts/data를/1478 from pid = 11661, uid = 10197 필요 android.permission.READ_CONTACTS 또는 grantUriPermission()
다음에 할 일? READ_CONTACTS 권한을 사용하면 안됩니다. 어떤 아이디어라도 감사 할 것입니다. 당신이 권한을 추가하지 않고 연락처를 얻을 것이다 연락 선택기에서
감사
당신은 허가없이 그것을 할 수 없습니다보십시오. "아무것도하지 마세요"가 더 좋습니다. 권한을 사용하는 동안 문제가 발생합니까? –
권한이 필요합니다 .. HTC android version ?? –
'나는 READ_CONTACTS 권한을 사용하면 안됩니다'이것은 NONSENSE입니다 : ** 당신은 ** 그 권한을 사용해야합니다. –