나는 앱을 만들고 있는데 사용자를위한 사진이있어 자동으로 가져 오려고합니다. 나는 이것을하는 방법이나 이것을하기위한 최선의 방법이 무엇인지에 대해 정말로 확신하지 못한다.메인 계정 사진 가져 오기
Google 계정 사진을 가져올 방법이 있습니까? 이것은 전 세계의 많은 사람들이 Google 계정을 전혀 가지고 있지 않을 수도 있다는 점을 고려할 때 가장 좋은 방법은 아닙니다.
ContactProvider에서 전화 사용자에 대한 기본 연락처가 있습니까? 그렇다면 어떻게 가져 오는지, 그리고 사진에 대해서는 어떻게 가지게됩니까? 죄송합니다. 코드가 없으므로 어디서부터 시작해야할지 모르겠으며 제안이나 링크를 통해 올바른 방향으로 나를 가리킬 수 있습니다.
내가String[] mProjection = new String[]
{
Profile._ID,
Profile.DISPLAY_NAME_PRIMARY,
Profile.LOOKUP_KEY,
Profile.PHOTO_THUMBNAIL_URI
};
// Retrieves the profile from the Contacts Provider
Cursor mProfileCursor = mContext.getContentResolver().query(
Profile.CONTENT_URI,
mProjection ,
null,
null,
null);
try {
if (mProfileCursor.moveToFirst()) {
byte[] data = mProfileCursor.getBlob(0); //error on this line
if (data != null) {
InputStream is = new ByteArrayInputStream(data);
imageBit = BitmapFactory.decodeStream(is);
}
}
} finally {
mProfileCursor.close();
}
내가 언급 한 줄에 오류가 계속 시도
좋아 코드 : nativeGetBlob
에 INTEGER 데이터 :android.database.sqlite.SQLiteException : 알 수없는 오류 (코드 0)
편집 2 : 프로필 사진을 얻으려고 0에서 3으로 변경 했으므로 오류를 수정했지만 현재 스트림 디코딩에서 가져온 imageBit은 null입니다. 그러나 바이트 []는 문제가되어 바이트 []를 비트 맵으로 변환하는 것이 무엇인지 알 수 없습니다.
0은 _ID입니다. 시도해보십시오. 3 그리고 Content Broker와이 URI를 MediaStore.Images.Media.getBitmap을 사용할 수 있도록 blob하지만 URI를 반환하지는 않을 것입니다. –
그래, 그 진전을 만드는 것, 내 하나의 오류를 고정했지만 지금은 ImageBit 지금 스트림을 디코딩에서 얻을 null입니다. 바이트 []하지만 그래서 문제가 비트 [0]을 비트 맵으로 변환하는 것이 무엇인지 모르겠다. – BionicSheep