UiAutomator踩坑区域

获取Context:

InstrumentationRegistry.getTargetContext()

弹出Toast:

static Handler mWorkerHandler;

static {
    Thread workerThread = new Thread() {
        @Override
        public void run() {
            super.run();
            //这里是关键,要在线程中弹出Toast,必须加入Looper
            Looper.prepare();
            mWorkerHandler = new Handler();
            Looper.loop();
        }
    };
    workerThread.start();
}

public Context getContext() {
    return InstrumentationRegistry.getTargetContext();
}

/**
 * 显示Toast公开方法
 */
public void showToast(String msg) {
    ShowToastRunnable runnable = new ShowToastRunnable(msg);
    if (mWorkerHandler != null) {
        mWorkerHandler.post(runnable);
    }
}

private class ShowToastRunnable implements Runnable {
    private String msg;

    ShowToastRunnable(String msg) {
        this.msg = msg;
    }

    @Override
    public void run() {
        Toast.makeText(getContext(), msg, Toast.LENGTH_SHORT).show();
    }
}

调用:

mLocalUtils.showToast("测试弹出信息");
try {
    //如果APP紧接着结束运行了,需要调用延迟3秒,否则还没弹出,APP就销毁了
    Thread.sleep(3 * 1000);
} catch (InterruptedException e) {
    e.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值