2016-07-31 77 views
3

後又回到我有這個意向沒有開始的意圖

@Override 
public void onClick(View v) { 

    Intent intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android"); 

    Uri uri = Uri.parse("http://instagram.com/_u/symphonyrecords"); 

    if (intent != null) { 

    intent = new Intent(Intent.ACTION_VIEW, uri); 
    intent.setPackage("com.instagram.android"); 
    startActivity(intent); 

    } else { 

    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); 
    } 
    } 
}); 

後的onClick,意圖(Instagram的)開始,但是當我按回到了回報,我的應用程序被關閉

我是不是要改變/在這裏添加點什麼?

回答

0

您應該使用startActivityForResult()並指定KEY_CODE以便您可以處理髮生在活動範圍之外的事件。

Android文檔:

啓動另一項活動並不一定是單向的。您也可以從 開始另一項活動並返回結果。要接收結果,請撥打startActivityForResult()(而不是startActivity()) 。

例如,您的應用程序可以啓動相機應用程序並接收拍攝的 照片。或者,您可以啓動「人物」應用以便 用戶選擇一位聯繫人,並且您將收到聯繫詳細信息,作爲 結果。

當然,響應的活動必須設計爲返回 結果。當它發生時,它將結果作爲另一個Intent對象發送。 您的活動在onActivityResult()回調中接收它。

你可以在這裏閱讀更多:Getting a Result from an Activity