0

我正在使用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掃描得到採空。

我搜索了很多,並嘗試了幾種解決方案,但仍然無法正常工作。任何建議或其他想法,我會感激。

回答

0

你不能用Activity來做。長期操作使用service。 「服務是一種應用程序組件,代表應用程序希望執行長時間運行的操作,而不與用戶交互或爲其他應用程序提供功能」是來自文檔link

0

您必須創建後臺服務這將繼續在後臺掃描。當您的活動需要數據表單服務時,您可以通過BroadcastReceiver詢問服務。