2017-12-14 3 views
0

FGとBGで動作しているすべてのアクティビティ、フラグメント、サービスの中でユーザーの場所を認識させる必要があります。また、中国に位置することも必須であるため、Google PlayサービスのFusedLocationはオプションではないようです。すべてのコンテキストでのアプリの位置認識

すべてのact/frag/servにリスナーを作成せずに、ライフサイクルでアタッチしたり切り離したりせずに、コンテキストに関係なくアプリケーションが場所の変更を認識できるようにする方法はありますか?

答えて

0

あなたが好きなような音はextend the application classです。こうすることで、グローバル変数とメソッドを公開することができます。申し訳ありませんが、リンクはあなたの特定の事例のための非常に良い例ではない、多分より良い例を見つけることができます。マニフェストのタグを更新します。android:name = MyExtendedApplicationClass

+0

サービスはバックグラウンドで実行されている場合でも利用できますか? –

+0

良い点。あなたはサービスと通信するために補助インタフェースを使うことができますが、それは単純化しないと複雑になります。サービスからのhttps://stackoverflow.com/questions/12381977/starting-a-service-from-application-classまたはgetapplicationcontext? Googleの位置情報APIはUIスレッドから呼び出されます。だから私はあなたが問題があるとは思わないが、私は間違っている可能性があります。とにかく考慮すべき何か。 – Pomagranite

0

中国のマップの場合は https://www.mapbox.com/のマップを使用できます。

注:SDKを使用する前に、プレイストアにテストアプリがあります。

定型コードなしでアプリの位置を認識させるには、Androidのバインドされたサービスを見てください。これらは基本的にバックグラウンドで実行され、開始された場所からの出力を提供するサービスです。

android Develop docs Bound Servicesのコード例をご覧ください。

ロケーションバインドされたサービスにアクセスできるBaseActivityを持つことができます。残りのアクティビティは、このBaseActivityから継承できます。私はあなたの問題のための正確なコードが答えとして投稿するには余りにも大きすぎるので、あなたが残りを把握できるようになることを願っています。

関連する問題