如何处理 android 中已弃用的处理程序

How to handle deprecated Handler in android

以前这段代码运行完美。

现在显示 android.os.handler 已弃用。

private final Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case MESSAGE_STATE_CHANGE:
        break;
        }
    }

我们如何解决这个问题。

正如 Mike 在评论中提到的,Handler 并未弃用。使用 new Handler() 创建 Handler 对象的方法已弃用。

根据文档,使用 new Handler() 会导致错误。所以你应该明确地为处理程序指定一个循环程序。 Looper 不能为空。

参考代码:

private final Handler mHandler = new Handler(Looper.getMainLooper()) {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case MESSAGE_STATE_CHANGE:
        break;
        }
    }