我有这个意图
@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)开始,但当我按回来返回时,我的应用程序已关闭
我必须在这里更改/添加内容吗?
答案 0 :(得分:0)
您应该使用startActivityForResult()
并指定KEY_CODE
,这样您就可以处理活动范围之外发生的事情。
Android文档:
开始另一项活动并不一定是单向的。你也可以 开始另一项活动并收到结果。要收到结果, 调用startActivityForResult()(而不是startActivity())。
例如,您的应用可以启动相机应用并接收捕获的应用 结果照片。或者,您可以启动People应用程序以便 用户选择联系人,您将收到联系人详细信息 结果
当然,响应的活动必须设计为返回a 结果。当它发生时,它将结果作为另一个Intent对象发送。 您的活动在onActivityResult()回调中收到它。
您可以在此处阅读更多内容:Getting a Result from an Activity