2015-06-23 9 views
6

Sto utilizzando una funzionalità di condivisione per l'applicazione social utilizzando Intent.Problema di condivisione Instagram: a volte viene visualizzato il messaggio "Impossibile caricare l'immagine"

Ho un problema con la condivisione di un'immagine su Instagram.

Alcune volte ottengo il messaggio

Impossibile caricare immagine.

Ecco il mio codice:

String path="content://media/external/images/media/32872"; 

Intent shareIntent = new Intent(); 
shareIntent.setType("image/jpeg"); 
shareIntent.setAction(Intent.ACTION_SEND); 
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path)); 
shareIntent.setPackage("com.instagram.android"); 
startActivity(shareIntent); 

Come faccio a sbarazzarsi di questo problema?

risposta

3

se si dispone di file, quindi utilizzare il codice qui sotto per condividere immagini,

private void shareIntagramIntent(String path) { 
     Intent intent = getActivity().getPackageManager() 
       .getLaunchIntentForPackage("com.instagram.android"); 
     if (intent != null) { 
      Intent shareIntent = new Intent(); 
      shareIntent.setAction(Intent.ACTION_SEND); 
      shareIntent.setPackage("com.instagram.android"); 
      try { 
       shareIntent.putExtra(Intent.EXTRA_STREAM, 
         Uri.parse("file://" + path)); 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      shareIntent.setType("image/jpeg"); 

      startActivity(shareIntent); 
     } else { 
      // bring user to the market to download the app. 
      // or let them choose an app? 
      intent = new Intent(Intent.ACTION_VIEW); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      intent.setData(Uri.parse("market://details?id=" 
        + "com.instagram.android")); 
      startActivity(intent); 
     } 
    } 
+1

Grazie per la risposta. Ho anche usato questo codice ma non ha funzionato. –

+2

Oggi ho avuto lo stesso problema con instagram, ma il codice sopra ha funzionato per me. questo è importante Uri.parse ("file: //" + percorso). – NullByte

+0

Va bene. ma in quale strada sei passato a Uri? puoi condividere il tuo percorso? @NullByte –

0

Prova questa:

File filepath = Environment.getExternalStorageDirectory(); 
cacheDir = new File(filepath.getAbsolutePath() + "/LikeIT/"); 
cacheDir.mkdirs(); 
Intent intent = new Intent(); 
intent.setType("image/*");  
intent.setAction(Intent.ACTION_SEND); 
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + filepath.getAbsolutePath())); 
activity.startActivity(intent);   
Problemi correlati