2016-05-16 76 views
0

我使用共享對話框在下面的代碼中共享Twitter中的文本。Share Intent之後的啓動功能Android

postTweetAfterIntentVar = 1; 

Intent tweetIntent = new Intent(Intent.ACTION_SEND); 
tweetIntent.setAction(Intent.ACTION_SEND); 
tweetIntent.putExtra(Intent.EXTRA_TEXT, "tweet text here"); 
tweetIntent.setType("text/plain"); 
startActivity(Intent.createChooser(tweetIntent, "Share this via")); 

我想在共享操作完成後啓動一個函數。我使用下面的代碼,但意圖完成共享操作後沒有任何事情發生。我做錯了什麼?任何幫助都會很棒。如果您使用startActivity()啓動活動

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 


    if (postTweetAfterIntentVar == 1) { 

     postTweetAfterIntentVar = 0; 

      postTweetFunc(); 


    } 


} 

回答

1

onActivityResult()將不會被調用。

onActivityResult()一旦使用startActivityFoResult()而不是startActivity()開始任何活動,就會被調用。 因此,當您使用startActivityFoResult()開始活動時,被叫活動使用setResult()設置結果,然後在onActivityResult()中得到結果。

+0

你好Shadab,所以用startActivityForResult()替換startActivity()就足夠了嗎? – saner

+0

是的,並在'onActivityResult()'你可以檢查具體的'requestCode'。 –