2017-07-11 6 views
-1

Androidのアプリを使用してInstagramで画像を共有しようとしています。画像の共有が完了したら、私は成功することができません。 私はインテントプロセスを使用しましたが、イメージ共有が完了した時点で成功しませんでした。AndroidでInstagramの共有が完了したときの成功方法

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 
     } 

答えて

0

ここでstartActivityForResultについて説明します。

あなたが共有を開始するときは、さまざまな情報と意図を作り、あなたがあなたの活動は、特別な方法で始まり、requestCode(あなたが決めるユニークな整数)

startActivityForResult(intent, requestCode) 

グッドプラクティスは、いくつかの静的な整数を持つことですどこかにあなたがInstagramのからの復帰を待つonActivityResultで

、構成ファイル内:

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

すでに完了しています。私が画像を投稿するとき、それはアプリで戻ってきません。 – dev

+0

あなたはonActivityResultを提供できますか?念のため。あなたが何をすべきかここで// {(resultCodeが== Activity.RESULT_OK)場合 : – Nek

+0

あなたはTHI @Override 保護のボイドonActivityResult(int型requestCode、int型のresultCode、テントデータ){ スイッチ(requestCode){ ケースREQUEST_CODEを確認することができますあなたがしなければなりません。 System.out.println( "Done Sharing ..."); } } } – dev

0

あなたがstartAcを使用することができますtivityForResult()と結果はRESULT_OKです

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent i){ 
} 
+0

これは動作しません。 – dev

+0

https://stackoverflow.com/a/30392124/373106を参照してください。 –

関連する問題