如何关闭从我的应用启动的外部应用(如 Instagram)并返回触发应用?
Posted
技术标签:
【中文标题】如何关闭从我的应用启动的外部应用(如 Instagram)并返回触发应用?【英文标题】:How do I close an external app like Instagram launched from my app and return to the Triggering App? 【发布时间】:2018-09-15 09:02:37 【问题描述】:我有一个 android 应用程序,它使用 Intent 将 Instagram 启动到我的页面。一旦用户使用完 Instagram 并使用后退箭头将其关闭,我需要关闭 Instagram 并将用户返回到触发该活动的我的 Android 应用程序。我的 Intent 可以工作并打开 instagram,但使用后退按钮它会留在 instagram 中。在下面找到我的触发 instgram 的代码
public void LaunchInstgram(View view)
Intent openInstagram = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
openInstagram.setData( Uri.parse( "https://www.instagram.com/_u/eatoutlagos") );
try
startActivity(openInstagram);
catch (ActivityNotFoundException e)
Toast.makeText(this, "Sorry, Instagram Not Installed", Toast.LENGTH_LONG).show();
【问题讨论】:
***.com/questions/23579725/…的可能重复 【参考方案1】:我认为您在通过Intents
启动Instagram
App 之前在MainActivity
中调用finish()
方法
您所描述的场景将通过以下两种方式发生:
任何一个
您已在AndroidManifest.xml
中为MainActivity
设置了android:noHistory = "true"
,这会导致MainActivity
在按下返回键时自动完成。
或
在切换到 LaunchInstragram
之前,您已经在 MainActivity 中调用了 finish()
,这会杀死它。当您按下后退按钮时,由于堆栈中没有其他要弹出的活动,它会停留在那里......
您也可以通过点击以下link在您的应用上试用 ChatHeads
编辑
试试下面的代码:
Uri uri = Uri.parse("https://www.instagram.com/_u/eatoutlagos");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
try
startActivity(likeIng);
catch (ActivityNotFoundException e)
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.instagram.com/_u/eatoutlagos")));
【讨论】:
嗨,阿米特,我似乎无法让前两个选项起作用。我在 mainActivity 的哪个阶段放置了 finish() 方法?如果我把它放在 onCreate 方法中,当我单击按钮开始时,它根本不会启动活动。我把它放在启动 instagram 意图的方法中并且没有变化,instagram 仍然没有关闭我的应用程序 public void LaunchInstgram(View view) finish();意图 openInstagram = getPackageManager().getLaunchIntentForPackage("com.instagram.android"); openInstagram.setData( Uri.parse( "instagram.com/_u/eatoutlagos") ); 尝试 startActivity(openInstagram); catch (ActivityNotFoundException e) Toast.makeText(this, "对不起,Instagram 未安装", Toast.LENGTH_LONG).show( ); //startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("instagram.com/eatoutlagos" 在第二种情况下,我将命令放在启动 Intagram 应用程序的活动中的清单文件中,如下所示 但是没有效果。我没有正确编写代码?请看看我分享了什么 您没有正确阅读我的答案。我说如果存在就删除这些行...不要添加它们...也不要评论任何代码。这不容易阅读..更新您的问题以清楚起见..通过编辑它....以上是关于如何关闭从我的应用启动的外部应用(如 Instagram)并返回触发应用?的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的应用程序委托启动一个 NSTimer,它在 Viewcontroller.m 中调用我的方法