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

时间:2016-11-13 18:10:32

标签: android multithreading android-activity handler

我有活动A和B. 现在我有一些“事件”在另一个线程中处理。 如果被触发,应用程序应该启动B但是然后销毁A.

在线程中,我有一个将内容发布到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();
    }
});

这不起作用,因为我的类无法转换为android.app.Activity 我如何使它工作?

1 个答案:

答案 0 :(得分:0)

刚刚完成()就够了,不需要施放。在这种情况下,您无法调用另一个活动的完成。您的方案仅在您在活动A中并且想要启动B,然后启动B并完成A时才有效。