2017-06-14 15 views
2

私のアプリケーションにFileObserverがあります。バックグラウンドで実行され、新しいファイルが登録されていれば、フォアグラウンドサービスの一部のサーバーにアップロードします。FileObserverがバックグラウンドでリッスンしている、Android O

Android Oでは、FirebaseJob Dispatcherを使用してバックグラウンドで仕事をする必要がありますが、FileObserverにどのように適用できますか?バックグラウンドでデータを分析する方法はありますか?それとも今はFileObserverを使用していないのでしょうか?

答えて

2

私はFileObserverにどのように適用できますか?

できません。

バックグラウンドでデータを分析する方法はありますか?

これはAndroid 8.0(O)では変更されていません。スティッキーなフォアグラウンドサービスを作ってから、あなたのプロセスは永遠に実行されないので、信頼性の低いもので生活してください。また、あなたのアプリがいつも動いているというユーザーの苦情に乗って生きています。

今はFile Observerを使用していない可能性がありますか? Androidはユーザーの選択(設定では例えば、「強制停止」)により、任意の時点で任意のプロセスを終了させることができたり、システムのRAMを解放するようFileObserverを使用し

は、信頼性がありませんでした。粘着性のあるフォアグラウンドサービスを使用することは、永続的なサービス/プロセスを持つことができるほど近くにあり、永遠に持続することさえありません。

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

まあ、これの後に痛みが来ているようだ...共通の方法で同じものを扱うために2つの異なる仕組みをサポートするのは難しいだろう... 私はもっと良いものと 'FileObserver'を置き換える方がよいだろうが、私は今のところ選択肢がありません。私はあなたのヒントを試してみます、ありがとう! –

関連する問題