Android,通过Handler.post函数调用finish()

Android, call finish() through Handler.post function

我有 Activity A 和 B 现在我有一些 "event" 在另一个线程中处理。 如果被触发,应用程序应该启动 B,然后销毁 A。

在线程中我有一个处理程序 post 东西到 UI 线程。

Handler hexample = new Handler(Looper.getMainLooper());

现在,切换没问题但是调用finish()方法是:

hexample.post(new Runnable() {
    @Override
    public void run() {
    Intent intent = new Intent(getApplicationContext(),LobbyActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    ((Activity)getApplicationContext()).finish();
    }
});

这不起作用,因为我的 class 无法转换为 android.app.Activity 我如何让它发挥作用?

只需finish()即可,无需强制转换。你不能调用另一个 Activity 的完成,在那个 situation.Your 场景中只有当你在 Activity A 中并且想要开始 B,然后开始 B 并完成 A.