Android 获取活动().finish()未终止活动

Android 获取活动().finish()未终止活动,android,Android,我有一个启动器活动a,它调用活动B。B有多个片段。现在我想要的是能够从这些碎片中杀死B。我使用了getActivity().finish(),但它只会杀死片段 如何从片段中终止活动/退出应用程序?文档中讨论了一种方法: 使片段定义活动实现的接口。然后调用活动,然后让活动完成(或其他事情) 文档中讨论了一种方法: 使片段定义活动实现的接口。然后调用活动,然后让活动完成(或其他事情) 如果您想关闭应用程序,只需使用: System.exit(0); 这将终止整个应用程序进程。如果您想关闭应用程序,

我有一个启动器活动a,它调用活动B。B有多个片段。现在我想要的是能够从这些碎片中杀死B。我使用了
getActivity().finish()
,但它只会杀死片段


如何从片段中终止活动/退出应用程序?

文档中讨论了一种方法:

使
片段
定义
活动
实现的接口。然后调用活动,然后让活动完成(或其他事情)


文档中讨论了一种方法:

使
片段
定义
活动
实现的接口。然后调用活动,然后让活动完成(或其他事情)


如果您想关闭应用程序,只需使用:

System.exit(0);

这将终止整个应用程序进程。

如果您想关闭应用程序,只需使用:

System.exit(0);


这将终止整个应用程序进程。

您只能在活动B中调用finish(),这将关闭您当前的活动。

您只能在活动B中调用finish(),这将关闭您当前的活动。

实际上它是有效的,请确保您的片段不是来自活动A。在我的情况下不是。应用程序仍将运行,只是片段将被终止,但活动仍将存在。您是否尝试过((ActivityB)getActivity()。finish@ShadowDroid这也不起作用。实际上它起作用了,请确保您的片段不是来自活动A。在我的情况下,它不是。应用程序仍将运行,只是片段将被终止,但活动仍将存在。您是否尝试过((ActivityB)getActivity()。finish@ShadowDroid那也没用,听起来是个优雅的解决方案。让我试试。快速提问:回拨一个活动是否会显示任何闪烁,就像一个活动启动并刚刚终止一样。因为第一个片段在调用活动B时会自动膨胀。如果我有多个片段试图利用相同的功能呢?让我们假设有多个片段,当我显式地声明我从中实现接口的片段时,我将如何实现接口?这只是
getActivity().finish()
的一个更复杂的版本。是的,以防他无法完成像
getActivity().finish()这样的活动。还是你的建议?哦,我解决了。我已经实现了一个广播侦听器,它将清除活动堆栈并关闭其他活动。一个月后,当我触摸代码库时,我忘记了它。我相信通过片段发送广播,然后调用getActivity().finish()现在就可以了。但我会保留接口实现。谢谢你的帮助,@AnastasiaRiss!这听起来是一个优雅的解决方案。让我试试。快速提问:回拨一个活动是否会显示任何闪烁,就像一个活动启动并刚刚终止一样。因为第一个片段在调用活动B时会自动膨胀。如果我有多个片段试图利用相同的功能呢?让我们假设有多个片段,当我显式地声明我从中实现接口的片段时,我将如何实现接口?这只是
getActivity().finish()
的一个更复杂的版本。是的,以防他无法完成像
getActivity().finish()这样的活动。还是你的建议?哦,我解决了。我已经实现了一个广播侦听器,它将清除活动堆栈并关闭其他活动。一个月后,当我触摸代码库时,我忘记了它。我相信通过片段发送广播,然后调用getActivity().finish()现在就可以了。但我会保留接口实现。谢谢你的帮助,@AnastasiaRiss!