私は近くの近くにあるAndroid AltBeaconライブラリを使用してモニタとレンジiBeaconsを使用しています。このアプリケーションの特定の要件の1つは、アプリケーションがバックグラウンドにある場合でもビーコン検出をスキャンし、アプリケーションが終了したときに完全に停止することです。Android AltBeaconライブラリで明示的にスキャンの開始と停止を制御する
私が理解しているこの要件は、BootstrapNotifier/RegionBootstrapによって部分的に満たされる可能性がありますが、アプリケーションが終了してもスキャンサービスが再開します。
私の回避策は、すべてのスキャンロジックを別のサービスに実装し、必要に応じて停止して開始できるようにすることでした。だからこそ、AltBeaconライブラリーはそれ自体がサービスなので、本質的に私はサービス内でサービスを実行していますが、実際にはそれほど意味がありません。
もっと良い方法がありますか?任意のアイデアをいただければ幸いです。
Davidありがとうございます。この低メモリシナリオを再考することは、むしろ魅力的です。おそらく私はそれをカスタムサービスで実行し続けるべきです。 –
カスタムサービスでは、メモリが少ない状況でアプリが強制終了されることはありません。だから、私はいつも私の電話で何かメモリを集中的にやっているときにPandoraやPodcastアプリの再生が止まるのを見るのです。これは、将来起こる場合に備えて、Androidビーコンライブラリのスケジューリング自体が将来再開するための全体的なポイントです。 – davidgyoung
はいそのような状況を説明するために、特定の間隔の後にサービスが実行されていることを確認してから、一度アラームマネージャーを一度キャンセルすると、Alarm Managerでいくつかの追加ロジックが追加されました。それはホイールの再発明のようなものです。 –