コードを使用してバッテリーの最適化からのAndroidアプリのを除外する方法

シャフィーックモハメド:

私は今、私はGPSに基づいてプロジェクトに取り組んでいます、アンドロイドに新しいです。私は、インターネット(traccar)からソースコードを得ました。私の要件は、それぞれ1キロまたは各1時間に場所を更新する必要がありアプリのようです。( - 20分10)が、問題はいくつかの時間後にバックグラウンドで動作していないアプリです。このため任意の解決策はありますか?

私は、アプリが起動していると、バッテリーの最適化から、このアプリを排除するために(コードで)何をすべきでしょうか?出来ますか ?

lelloman:

私はあなたが2つの異なる問題を抱えていると思います:

あなたがバックグラウンドでアプリケーションを維持したい場合は1)あなたは、フォアグラウンド・サービスを使用する必要があります。アプリが殺されるシステム及びそのプロセスの可能性によって背景にあるとみなされることはありませんその方法を大幅に低減されています。欠点は、あなたのサービスがフォアグラウンドである限りとしてあなたが永続的な通知を表示する必要があるということです。

2)あなたは、バッテリの最適化から自分を自分のアプリを除外することはできませんが、ホワイトリストのアプリをユーザーに設定を促すことができます。あなたが参照できることをやるためには公式ドキュメント、あなたが追加する必要がありますManifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONSアクションで意図をマニフェストに許可をしてから起動しACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGSその後、ユーザは、そうでない場合は、すべてのアプリが自身をホワイトリストに登録しまうと、電池の最適化の目的は反抗されるためだけに彼女/彼はそれを行うことができ、ホワイトリストのアプリのことができるようになります。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=199302&siteId=1