处理程序可以在android后台运行吗?

时间:2015-10-19 15:22:57

标签: android multithreading bluetooth handler bluetooth-lowenergy

我正在制作一款不断获得蓝牙音乐的Android应用程序

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秒后停止。我希望它永远作为后台服务运行。任何老师都可以帮助我?谢谢。我应该使用线程,asynctask,looper或其他东西。我不知道。我只是不想让这个处理程序停止。

1 个答案:

答案 0 :(得分:0)

您应该使用服务。创建扩展Service类的服务。在onStartCommand方法中,您应该初始化扫描过程并发出定期警报。

希望它可以帮到你!!