我从活动A开始活动B。

调用非活动类中的回调方法,指示我应关闭活动B。

如何关闭非活动类的活动B?

请记住,活动B并不总是相同的活动,而活动A则总是相同的。例如,在我的情况下,A是MainActivity,B是我可以从MainActivity启动的任何其他活动。

TLDR;如何从非活动类中关闭当前的前台活动。

最佳答案

您应该使用广播。

您可以使用SuperActivity,并且其他活动从SuperActivity扩展

SuperActivity中注册广播,

if(intent.getAction.equals(your custom action))(
    finish();
)


和B活动扩展了SuperActivity

Context作为参数传递给非活动类,在此方法的末尾,使用Context发送广播。

不要忘记当B Activityfinish时广播应取消注册

10-08 14:48