画像を参照してください。検索時にユーザーの現在の場所が検索結果に含まれる POC を構築しようとしています (すべてのユーザーではなく、検索で返されたユーザーのみです。これらのユーザーはすべて既にアプリにログインしており、ユーザー ID は既にわかっています)。IntentService の代わりに Service アプローチを使用したことを除いて、以下の手法を使用して、バックグラウンドでユーザーの場所を取得し、それを検索フラグメントにブロードキャストできるように、サービスを実行してみました。
public class MyIntentService extends IntentService {
//ACTION should include application package convention, just to show that this can
//be any string
public static final String ACTION = "mycustomactionstring";
public MyIntentService() {
super("MyIntentService");
// TODO Auto-generated constructor stub
Log.d("sohail", "service started");
}
@
Override
protected void onHandleIntent(Intent arg0) {
// TODO Auto-generated method stub
Log.d("sohail", "onHandleIntent called");
Intent in = new Intent(ACTION); //you can put anything in it with putExtra
Log.d("sohail", "sending broadcast");
LocalBroadcastManager.getInstance(this).sendBroadcast( in );
}
}
問題は、検索結果で特定のユーザーの現在の場所のみを表示するように Android に反映するにはどうすればよいですか? ログインしているすべてのユーザーの中で特定のユーザーに対して user.getLastLocation のようなことを行うことができる Android のより良いアプローチはありますか? ここに何か良いアプローチはありますか?
私が基本的に探しているのは、Android で「検索結果で返された特定のユーザーの現在の場所を教えてください」と簡単に言う方法です。これらのユーザーは、ログインしているすべてのユーザーの一部です。
すべてのユーザーの場所を追跡し、それを自分で DB に保持し、検索結果で返されたユーザーと比較することを考えましたが、理想的な方法ではないように思えました。
このシナリオで誰かが提案できるより良い方法はありますか?