2017-06-14 53 views
2

我在我的應用程序中有FileObserver,現在它在後臺運行,並且如果註冊了新文件 - 在前臺服務中實例化它的上傳到某個服務器。FileObserver在後臺偵聽,Android O

在Android O中,我們應該使用FirebaseJob Dispatcher在後臺執行一些工作,但我們如何將它應用於FileObserver?有沒有辦法在後臺分析數據?或者從現在開始使用FileObserver

回答

2

但是我們如何將它應用於FileObserver?

你不行。

有什麼方法可以分析背景中的數據嗎?

Android 8.0(O)沒有改變。創建一個粘性的前臺服務,然後以不可靠的方式生活,因爲你的過程仍然不會永遠運行。此外,與用戶抱怨你的應用程序一直在運行。

或者從現在起可能無法使用File Observer?

使用FileObserver從未可靠,由於Android可以在任何時間終止任何過程,由用戶選擇(例如,「強制停止」中設置)或釋放系統RAM。使用粘性前臺服務儘可能接近永久服務/流程,甚至不會永遠持續下去。

Android 8.0並沒有改變這一點。

根據您的使用情況,您可以嘗試切換到JobScheduler並使用它來監視MediaStoreUrivia addTriggerContentUri()

+0

謝謝你的回答。那麼,我需要支持API lvl 19 ... 這是不可能的,JobInfo.Builder和addTriggerContentUri()只能在API 24中添加。 –

+0

@ A.Shevchuk:「那麼,我需要支持API的其他東西lvl 19「 - 可能在API Level 24+上使用'JobScheduler',並在舊設備上使用不可靠的'FileObserver'方法。 – CommonsWare

+0

好吧,好像痛苦在這之後就要來了......這將很難支持兩種不同的機制來以常見的方式處理相同的事情...... 我最好用一些更好的東西替換'FileObserver',但似乎是我現在沒有選擇。我會嘗試你的提示,謝謝! –