Tengo una aplicación que comparte imágenes de la URL. Última actualización de Android, recibí el mensaje de instagram "No se puede cargar la imagen" cuando quiero compartir una imagen en el feed de instagram.
Pero puedo compartir la historia de la imagen, el mensaje directo y en todas partes ... Tengo este problema solo con el feed de Instagram.
public void onShareItemOreo() {
// Get access to bitmap image from view
imageView = (ImageView) findViewById(R.id.thumbnail);
// Get access to the URI for the bitmap
Uri bmpUri = prepareShareIntent(imageView);
if (bmpUri != null) {
//outfile is the path of the image stored in the gallery
// Construct a ShareIntent with link to image
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
shareIntent.setData(bmpUri);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_TEXT,marketLink);
// Launch sharing dialog for image
startActivity(Intent.createChooser(shareIntent, "Share Image"));
} else {
//
}
}
public Uri prepareShareIntent(ImageView imageView) {
// Fetch Bitmap Uri locally
Drawable drawable = imageView.getDrawable();
Bitmap bmp = null;
if (drawable instanceof BitmapDrawable){
bmp = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
} else {
return null;
}
Uri bmpUri = getBitmapFromDrawable(bmp);// see previous remote images section and notes for API > 23
// Construct share intent as described above based on bitmap
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
shareIntent.setType("image/*");
return bmpUri;
}
android
image
android-intent
share
jancooth
fuente
fuente
Respuestas:
Facebook está trabajando en este error, ¡esperemos! Suscríbase para recibir notificaciones de actualizaciones de este informe de error. https://developers.facebook.com/support/bugs/1326888287510350/
fuente
Actualización: este problema se solucionó en la versión de Instagram lanzada a principios de esta semana. Las soluciones alternativas ya no son necesarias.
Ninguna de las soluciones mencionadas anteriormente funcionó para mí, ya que parece que el intercambio directo a través de
ContentProvider
su derivado seFileProvider
vio interrumpido por un cambio realizado en la aplicación de Instagram.Me di cuenta de que compartir un
MediaStore
contenido Uri todavía funciona, ya que otras aplicaciones como Google Photos que escriben en MediaStore antes de compartir aún podían compartir imágenes para alimentar.Puede insertar una imagen
File
en elMediaStore
siguiente:Luego, con eso
Uri
que has devuelto, comparte a través de Intención de la siguiente manera:Si bien no es ideal, ya que la imagen se escribe en el
MediaStore
comportamiento, lo que puede no ser el comportamiento deseado en muchos casos, vuelve a habilitar la capacidad de compartir en el mediano plazo mientras Instagram repara su whoopsie.fuente
su uri es "content: //packagename/xxx.jpg", debe ser "content: // media / external / images / media / ..."; Será trabajado.
fuente
Problema resuelto con la última actualización de instagram
fuente
Ok, busqué y encontré una solución. No sé si esto es correcto, pero resolvió mi problema.
Solución encontrada en esta respuesta.
fuente
Parece que Facebook ya tiene el error para este problema: https://developers.facebook.com/support/bugs/1326888287510350/
Como solución temporal, puede guardar medios en MediaStore. Este es el método que utilizamos para almacenar y luego devolver la uri para compartir Instagram.
fuente