android - sandwich - ContactsContract.Directory-¿Cómo devuelvo una foto?
android jelly bean (1)
Creo que encontré la respuesta. Parece que la excepción fue haber iniciado sesión en Verbose (tenía mi logcat configurado en Debug). De todos modos, estaba bastante seguro de esto, pero parece que no hay un proveedor para http uri. Desactivado para crear un proveedor de contenido, simplemente no estoy seguro de cómo devolveré una imagen de un proveedor de contenido, pero lo resolveré. Cualquier sugerencia / consejo sería apreciado y se le daría crédito de respuesta.
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): java.io.FileNotFoundException: No content provider: http://domain/testimage.jpg
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:595)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:527)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.content.ContentResolver.openInputStream(ContentResolver.java:362)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at com.android.contacts.ContactPhotoManagerImpl$LoaderThread.loadRemotePhotos(ContactPhotoManager.java:722)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at com.android.contacts.ContactPhotoManagerImpl$LoaderThread.loadPhotosInBackground(ContactPhotoManager.java:652)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at com.android.contacts.ContactPhotoManagerImpl$LoaderThread.handleMessage(ContactPhotoManager.java:563)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.os.Handler.dispatchMessage(Handler.java:95)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.os.Looper.loop(Looper.java:132)
09-16 10:20:25.550: VERBOSE/ContactPhotoManager(11691): at android.os.HandlerThread.run(HandlerThread.java:60)
Estoy tratando de averiguar por qué no puedo pasar una foto Uri (Uri.parse (http: //url/image.png)) a la aplicación de contactos a través de ContactsContract.Directory
Tengo un servicio web que permite buscar en una libreta de direcciones. Uno de los campos devueltos es una url del contacto que reside en un servidor web que he verificado que es accesible desde mi Honeycomb Tablet.
My ContactsContract.Directory parece estar funcionando sin problemas devolviendo resultados, pero cuando regreso como parte de la consulta de FILTER Contacts.PHOTO_THUMBNAIL_URI w / the Uri.parse (http: //url/image.png) los resultados de búsqueda aún regresan como se esperaba , pero solo veo la plantilla temporal.
El uri para la consulta de directorio tiene una opción para foto compatible.
if (column.equals(Directory.PHOTO_SUPPORT)) {
row[i] = Directory.PHOTO_SUPPORT_FULL;
}
He probado todas las combinaciones de Directory.PHOTO_SUPPORT * y ninguna parece marcar la diferencia.
Mi único pensamiento es que la aplicación de contactos no admite la descarga de fotos desde una URL. Así que también intenté
File myFile = new File("/sdcard/testuser.jpg");
row[photoUri] = Uri.fromFile(myFile);
Y verifiqué que testuser.jpg estaba en la tarjeta SD. Esto funcionó bien. Sin embargo, debido a la forma en que se realiza la búsqueda de directorio, me gustaría cargarlo sobre la marcha y no almacenar en caché (por el momento) a la tarjeta SD.
Cualquier ayuda sería apreciada.