2017-07-11 3 views
-1

Ich versuche, Bilder auf meinem Instagram mit meiner Android App zu teilen. aber ich bin nicht in der Lage Erfolg zu haben, wenn Bilder geteilt werden. Ich habe den Intent-Prozess verwendet, aber ich kann keinen Erfolg erzielen, wenn die Bildübertragung abgeschlossen ist.Wie bekomme ich Erfolg, wenn Instagram teilen in Android

Intent share = new Intent(Intent.ACTION_SEND); 

// Limit this call to instagram 
     share.setPackage("com.instagram.android"); 

// Set the MIME type 
     share.setType("image/jpg"); 

// Create the URI from the media 
     File media = new File("/storage/emulated/0/DCIM/Camera/IMG_20170627_222256129_HDR.jpg"); 
     Uri uri = Uri.fromFile(media); 

// Add the URI to the Intent. 
     share.putExtra(Intent.EXTRA_STREAM, uri); 

     try { 
      // Fire the Intent. 
      startActivityForResult(share, REQUEST_CODE); 
     } catch(ActivityNotFoundException e) { 
      // instagram not installed 
     } 

Antwort

0

Hier finden Sie einige Erklärungen zu startActivityForResult.

Wenn Sie beginnen, teilen Sie eine Absicht mit unterschiedlichen Informationen machen dann Sie Ihre Tätigkeit mit einer speziellen Methode beginnen und eine requestCode (Eine eindeutige Ganzzahl, die Sie entscheiden)

startActivityForResult(intent, requestCode) 

Gute Praxis ist eine statische integer haben irgendwo in einer Konfigurationsdatei

dann in onActivityResult Sie für eine Rückkehr von instagram warten:

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
switch (requestCode) { 
    case INSTAGRAM_REQUEST_CODE: 
     if (resultCode == Activity.RESULT_OK) { 
      // Here you do what you have to do. 
     } 
    } 
} 
+0

Bereits getan, dass. Wenn ich das Bild posten, wird es nicht in der App zurückkehren. – dev

+0

Können Sie Ihr onActivityResult bereitstellen? Nur für den Fall. – Nek

+0

Sie können prüfen, thi @Override protected void onActivityResult (int requestCode, int Result, Intent-Daten) { Schalter (requestCode) { Fall REQUEST_CODE: if (Result == Activity.RESULT_OK) {// Hier tun Sie, was du musst. System.out.println ("Done Sharing ..."); } } } – dev

0

Sie STARTAC verwenden können tivityForResult() und vielleicht Ergebnis ist RESULT_OK

+0

Nein das funktioniert nicht – dev

+0

siehe https://Stackoverflow.com/a/30392124/373106 –

Verwandte Themen