동적으로 위치 추적 (위치 방송 수신기 등록/등록 해제)을 제어하려고합니다. 이것이 내가 어떻게 할 계획인가.위치 추적을 동적으로 제어하는 올바른 방법 (위치 방송 수신기 등록/등록 해제)
내가/자바 dev에 안드로이드 매우 새로운 오전 모든이 개념은 여전히 나에게 매우 이론적이기 때문에 아래의 구현에 실수 무엇 : 저는 두 가지 질문이 있습니다. 아직도 건물 개념!
내 위치 라이브러리 클래스의 EXTRA_INFO를 위치 수신기로 전달하는 방법
이행 :
나는 두 가지 방법으로 구성 라이브러리 클래스 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. 물론 생성자가 작업을 수행합니다. 나는 그것을 어떻게 놓쳤는가? 고마워 잭 :)! –