(android) snackbar 结束后如何关闭 activity?

(android) how to close an activity after snackbar ended?

我想在小吃店结束后关闭 activity。 我有两个活动 A 和 B。A activity 使用意图打开 B activity。 在 B,当 snackbar 在 3 秒内结束时,B 使用 finish() 自动关闭。 但是怎么知道小吃店结束了呢? snackbar 启动后,B activity 立即关闭,因为 snackbar 结束了。

B 中的代码 activity.

Snackbar sb = Snackbar.make(wc, "SAVE", Snackbar.LENGTH_SHORT).setDuration(3000);
sb.show();
finish();

请帮助我。 谢谢。

像这样在您的快餐栏中添加回调:

sb.addCallback(new Snackbar.Callback() {

    @Override
    public void onDismissed(Snackbar snackbar, int event) {
        if (event == Snackbar.Callback.DISMISS_EVENT_TIMEOUT) {
            // finish your activity here
        }
    }

    @Override
    public void onShown(Snackbar snackbar) {
        ...
    }
});