单击后退按钮后如何让活动在后台运行

时间:2016-05-31 11:49:00

标签: android android-activity android-service bluetooth-lowenergy

我使用Activity来使用BLE BluetoothLeService(车辆速度,温度等)永久地从车辆获取数据,并将其实时注入Sqlite DataBase, 直到它完美运作。

我的问题是,当我按回按键返回我的原则活动时,我想继续扫描。

所以我试图覆盖onKeyDown,如下所示,但是当我点击keyBack时,扫描仍然有效,但它将所有应用程序onBackground放入活动中。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    switch(keyCode)
    {
        case KeyEvent.KEYCODE_BACK:
            moveTaskToBack(true);
            return true;
    }
    return false;
}

我还尝试将moveTaskToBack(true)放在onStop内,当我点击keyBack时,扫描会停止。

我经常搜索并尝试了几种解决方案,但仍然无法正常工作。我会对任何建议或其他想法表示赞赏。

2 个答案:

答案 0 :(得分:0)

你不能使用Activity。使用service进行长时间操作。 “服务是一个应用程序组件,表示应用程序希望执行较长时间运行而不与用户交互或为其他应用程序提供使用的功能”来自文档link

答案 1 :(得分:0)

您必须创建一个后台服务,以便在后台继续扫描。当您的活动需要数据表格服务时,您可以通过BroadcastReceiver询问服务。