ロケーショントラッキングを動的に制御する(位置登録ブロードキャストレシーバーの登録/登録解除)。これが私のやり方です。私はアンドロイド/ Javaのdevのに非常に新しいですと、すべてこの概念はまだ私には非常に理論的であるため、ロケーショントラッキングを動的に制御する正しい方法(ロケーションブロードキャストレシーバーの登録/登録解除)
は以下の実装の間違いどのようなものです:私は2つの質問があります。まだコンセプト構築中!
私のロケーションライブラリクラスからEXTRA_INFOをロケーションレシーバに渡すにはどうすればよいですか?
IMPLEMENTATION:
私は2つのメソッドで構成され、ライブラリのクラスLocationLibrary.javaを持っています。彼らは名前が示唆するようにします。 startTracking()を呼び出すと、位置のトラッキングが開始されます。 Plzは、myLocationReceiverに渡す必要があるextraInfoをメモします。 stopTracking()が呼び出されると、トラッキングが停止するはずです。
コードスニペット:
public class LocationLibraray
{
private static BroadcastReceiver myLocationReceiver;
public LocationLibraray(Context context)
{
this.ctx = context;
myLocationReceiver = new MyLocationReceiver();
}
public void startTracking(Context context, String extraInfo)
{
IntentFilter filter = new IntentFilter();
filter.addAction("com.app.android.tracker.LOCATION_READY");
context.registerReceiver(myLocationReceiver, filter);
// NEED TO PASS extraInfo to myLocationReceiver for some processing, but HOW?
}
public void stopTracking(Context context)
{
context.unregisterReceiver(locationReceiver);
}
}
MyLocationReceiver.javaは
public class MyLocationReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) {
if ((intent.getAction() != null) &&
(intent.getAction().equals("com.app.android.tracker.LOCATION_READY")))
{
//GET THAT EXTRA INFO FROM LocationLibrary class and process it here
}
}
}
私を助けてください。 Thnx!
おっと!それはバマーだった:P。もちろんコンストラクタがその仕事をします。どのように私はそれを逃しましたか?ありがとうジャック:)! –