处理程序可以在 android 背景中不断地 运行 吗?

Can a handler constantly run in android background?

我正在制作一个 android 应用程序,不断获取蓝牙 le rssi

private void scanLeDevice(final boolean enable) {
    if (enable) {
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (Build.VERSION.SDK_INT < 21) {
                    mBluetoothAdapter.stopLeScan(mLeScanCallback);
                } else {
                    mLEScanner.stopScan(mScanCallback);
                }
            }
        }, 10000);
    }
}

在这10秒内,我会不断获取onScanResult信息。但我不希望这个处理程序在 10 秒后停止。我希望它 运行 永远作为后台服务。有没有老师可以帮帮我?谢谢。我应该使用 thread、asynctask、looper 还是什么。我不知道。我只是不想让这个处理程序停止。

您应该使用服务。创建您自己的扩展服务 class 的服务。在 onStartCommand 方法中,您应该初始化扫描过程并设置定期警报。

希望对你有帮助!!