在开始意图后没有返回

时间:2016-07-31 22:34:57

标签: android android-intent

我有这个意图

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

在点击之后,意图(Instagram)开始,但当我按回来返回时,我的应用程序已关闭

我必须在这里更改/添加内容吗?

1 个答案:

答案 0 :(得分:0)

您应该使用startActivityForResult()并指定KEY_CODE,这样您就可以处理活动范围之外发生的事情。

Android文档:

  

开始另一项活动并不一定是单向的。你也可以   开始另一项活动并收到结果。要收到结果,   调用startActivityForResult()(而不是startActivity())。

     

例如,您的应用可以启动相机应用并接收捕获的应用   结果照片。或者,您可以启动People应用程序以便   用户选择联系人,您将收到联系人详细信息   结果

     

当然,响应的活动必须设计为返回a   结果。当它发生时,它将结果作为另一个Intent对象发送。   您的活动在onActivityResult()回调中收到它。

您可以在此处阅读更多内容:Getting a Result from an Activity