位置追跡(位置放送受信機の登録/登録解除)を動的に制御したい。これが私がそれをすることを計画している方法です。2つの質問があります:
私はandroid/java devに非常に慣れていないので、この概念はすべて私にとってまだ非常に理論的であるため、以下の実装の間違いは何ですか。まだコンセプトを構築しています!
ロケーションライブラリクラスからロケーションレシーバーにEXTRA_INFOを渡すにはどうすればよいですか。
実装:
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!