我有一个主要活动,有一个按钮。按下按钮可打开子活动。儿童活动内部是一个按钮。按下该按钮可打开隐含意图(YouTube视频)。这是我在儿童活动中的代码:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("some_youtube_link")));
视频开始正常,但是当我按下它时,它会继续回到YouTube应用中,这是不受欢迎的。所以我添加了这一行:
finish();
...在启动隐式意图后的下一行。现在,当我按下视频时,它会一直回到主要活动。但我希望它回到启动它的活动(儿童活动)。我怎样才能做到这一点?
编辑:我被标记为this问题的副本。但是我的问题不同了。在引用的问题中,OP希望YouTube应用关闭并在视频完成后返回到他的应用,而不必按后退按钮,我希望后退按钮将我带回到启动隐含意图的活动而不是父母的活动。
更新:我删除了finish();
行,它在实际设备上完全正常,行为正是我正在寻找的。但是在模拟器上,如果我在加载YouTube应用程序后足够快地按回来,那么我将根据需要返回到子活动。但是,如果我等待几秒钟然后再按回来,它就会一直持续到YouTube视频的开头。无论如何,我不再有问题,因为我所关心的只是设备而不是模拟器,但我仍然不明白为什么模拟器会这样做。
更新:好的,问题仍然存在。当我点击播放按钮时,会打开一个对话框,要求我选择我的应用程序(YouTube,网络浏览器等)。如果我选择YouTube,然后选择" Just Once"选项而不是" Always"选项,然后当YouTube打开并按下后退按钮时,它将返回子活动(根据需要)并显示"选择应用程序"再次。我必须再次按回去摆脱这个弹出窗口。这很烦人,但我可以处理它。问题是当我选择" Always"选项。现在,当我从YouTube回来时,它会不断重新打开相同的YouTube视频,因此我无法返回我的应用。似乎有一个中间活动(在我的应用和YouTube之间)被执行,而这个中间活动就是选择应用程序"菜单。但是因为我选择了#34; Always"作为选项,一旦它回到"选择"菜单会自动选择YouTube并再次打开YouTube。我该如何解决这个问题?