¿Cómo enviar una foto a Instagram usando mi aplicación de Android?

Mi aplicación toma fotos y quiero compartirla en Instagram.

Mi aplicación guarda la imagen en este directorio

File storagePath = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera/tubagram"); 

Ahora estoy intentando conseguir la última imagen que tomé para compartir en Instagram usando este código

 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType("image/*"); final ContentResolver cr = getContentResolver(); final String[] p1 = new String[] {MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATE_TAKEN}; Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC"); if (c1.moveToFirst() ) { Log.i("Teste", "last picture (" + c1.getString(0) + ") taken on: " + new Date(c1.getLong(1))); } shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+Environment.getExternalStorageDirectory() + "/DCIM/Camera/tubagram/" + c1.getString(0))); shareIntent.setPackage("com.instagram.android"); c1.close(); startActivity(shareIntent); 

Recibo un Toast con este mensaje de error "No se puede descargar el archivo". Este brindis es enviado por Instagram.

He intentado usar este ejemplo de enlace – compartir una foto en instagram – pero no funcionó.

¡¡¡Ayudame por favor!!!

Resolví mi problema.

Añado esta línea después de la cámara.takePicture.

 sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 

Esta línea hace una "actualización" y después de que el teléfono reconozca las fotos de noticias guardadas en su teléfono.

Y hice algunos cambios en mi método

 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType("image/*"); final ContentResolver cr = getContentResolver(); final String[] p1 = new String[] { MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.TITLE, MediaStore.Images.ImageColumns.DATE_TAKEN }; Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC"); if (c1.moveToFirst() ) { Log.i("Teste", "last picture (" + c1.getString(1) + ") taken on: " + new Date(c1.getLong(2))); } Log.i("Caminho download imagem", "file://"+Environment.getExternalStorageDirectory()+ "/Tubagram/" + c1.getString(1) + ".png"); shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+Environment.getExternalStorageDirectory()+ "/Tubagram/" + c1.getString(1)+".png")); shareIntent.setPackage("com.instagram.android"); c1.close(); startActivity(shareIntent); 

Y con este otro método comprobar si el Instagram está instalado en el teléfono

 private boolean verificaInstagram(){ boolean installed = false; try { ApplicationInfo info = getPackageManager().getApplicationInfo("com.instagram.android", 0); installed = true; } catch (NameNotFoundException e) { installed = false; } return installed; } 

Poner este código en su oyente de botón de clic que le redireccionará en la aplicación y asegúrese de que su dispositivo ha instalado la aplicación Instagram.

 String type = "image/*"; imageview.buildDrawingCache(); Bitmap bmap = imageview.getDrawingCache(); Uri bmpUri = getLocalBitmapUri(bmap); Intent share = new Intent(Intent.ACTION_SEND); if (Utils.isPackageExisted(ActivityFullScreenJoke.this,"com.instagram.android")) { share.setPackage("com.instagram.android"); } share.setType(type); share.putExtra(Intent.EXTRA_STREAM, bmpUri); startActivity(Intent.createChooser(share, "Share to")); 
  • Recortar la imagen ala Google Goggles
  • Detectar si el contacto tiene foto
  • Sube una foto a Facebook con Facebook Android SDK en Android
  • Asegúrese de que las fotos se guardan con la misma orientación que se tomaron?
  • Problemas para tomar fotos con Android (Cámara vertical | Retrato)
  • Subir foto / foto / imagen facebook (android)
  • Cómo guardar las fotos tomadas en una carpeta específica?
  • Android obtener ruta de la foto sin tomar foto
  • Longitud y latitud del GPS de la foto geotiquetada
  • Declarado constante para el tamaño de la foto de contacto de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.