0

特定の期間および日数でユーザーを追跡する必要があります。私は2分ごとにアラームマネージャーを起動します(私はサーバーから定期的な時間を得て、これは私のアプリケーションではダイナミックです)。そして、約1分後に位置を取得しようとします。とにかく、このアプローチは非常にうまく動作しますが、APIレベル23以上では、私のdozeとスタンバイモードのアプリケーションはうまく動作せず、特定の時間にアラームを呼び出さないようにしています。私はAPIレベル23以上のためにsetExactAndAllowWhileIdleメソッドを使用しましたが、うまく機能しませんでした。ドーズモードで定期的にユーザーを追跡する

ドキュメントによると、私はドーズとスタンバイモードでさらにアラームを使用することはできません。 私の質問は、アンドロイド6以上のユーザーを追跡するにはどうすればいいですか?

答えて

0

dozeでアラームを処理しているときは、setAlarmClock()set()の代わりに使用してください。これは特にAlarmClock用に設計されているため、dozeでも実行できます。また

あなたは今までFirebase-job-dispatcher聞いたことがありますか?

Firebase JobDispatcherは、Androidプラットフォームでjobschedulerのに似たAPI を提供するオープンソースのライブラリです。 Firebase JobDispatcherはAndroidのバージョン5.0(APIレベル21)をターゲットにしているアプリケーション のJobScheduler互換レイヤーとして機能します。

Firebase JobDispatcherでは、Googleの使用は(ランニング)ジョブをディスパッチするため 実装などのサービスを再生サポートしていますが、図書館にも は、ユーザーが定義し、他の実装を使用することができます:たとえば、あなた はjobschedulerのを使用することを決めるかもしれませんかあなた自身のカスタムコードを書いてください。 Androidのバージョンが5.0 (APIレベル21)より低い場合は、このFirebase JobDispatcherを使用することをお勧めします。

あなたはそれのために行く必要があります。彼らはかなり良い設定技術も持っています。

+0

ありがとうございますが、私のプログラムは、APIレベル23以下で良好に動作します。私の問題は、APIレベル23です...と私は思う、私はこのライブラリを使用する必要はありません。 – Fahim

+0

ええ、 'alarmManager'の場合、代わりに' setAlarmClock() 'をチェックしてください。私の編集を参照してください。 – Wizard

+0

setAlarmClockはユーザーに通知を表示しますが、ユーザーに通知などを表示したくありません。 – Fahim

関連する問題