【问题标题】:how to let activity work in background after click back button单击后退按钮后如何让活动在后台工作
【发布时间】:2016-05-31 11:48:59
【问题描述】:

我正在使用 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 时,扫描会停止。

我已经搜索了很多并尝试了几种解决方案,但仍然无法正常工作。任何建议或其他想法我将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    你不能使用 Activity 来做到这一点。使用service 进行长时间操作。 “服务是一个应用程序组件,代表应用程序希望在不与用户交互的情况下执行更长时间运行的操作,或提供功能供其他应用程序使用”来自文档link

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-03-04
        • 2012-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多