전체 화면을 차지하고 뷰 페이지에서 관리하는 두 조각으로 앱을 만들고 있는데 둘 다 위치 데이터를 사용하며 LocationManager를 구현하고 LocationListener를 사용하여 위치 데이터를 확인하여 확인합니다 사용자가 이동하여 새 데이터가 필요한 경우 두 조각 모두 사용자 위치를 사용하여 초기 데이터를 표시하며 새 데이터를 표시하기 위해 사용자가 위치를 변경했는지 여부를 알아야합니다. 나는 위치 데이터 요청 업데이트를 얻으려면 다음 코드를 사용액티비티에서 조각을 업데이트하는 방법
private void getLocationData() {
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.d("LOLWeather", "onLocationChange() callback received");
mLatitude = location.getLatitude();
mLongitude = location.getLongitude();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
Log.d("LOLWeather", "onProviderDisabled callback received");
}
};
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.ACCESS_COARSE_LOCATION} ,REQUEST_CODE);
return;
}
mLocationManager.requestLocationUpdates(LOCATION_PROVIDER, MIN_TIME, MIN_DISTANCE, mLocationListener);
mLatitude = mLocationManager.getLastKnownLocation(LOCATION_PROVIDER).getLatitude();
mLongitude = mLocationManager.getLastKnownLocation(LOCATION_PROVIDER).getLongitude();
}
내 첫 번째 질문입니다 나는 내가 할 수있는 각 조각 내 onPause 각 조각 안쪽에이 코드를 삽입 할 수 있습니다 그림! 을 (mLocationManager 경우 = null) mLocationManager.removeUpdates (mLocationListener);
그러나 사용자가 한 조각 /보기에서 다른보기/다른 곳으로 바꿀 때마다 위치 데이터를 요청하고 매번 locationListener를 추가 및 제거하는 것은 잘못된 것처럼 보입니다. 그들은 둘 다 내 위치 데이터를 사용하기 때문에 최선의 활동 내에서 getLocationData() 메서드를 배치 생각, 이것이 맞습니까 ??? 만약 내가 어떻게 처리해야합니까, 각 조각에 getLocationData() 메서드를 넣어 ???
내가 잘못 붙지 않는 한 Im가 잘못 붙어 있지 않은데, onLocationChanged() 메소드가 locationListener 내에서 호출 될 때 주 활동 내에서 getLocationData() 메소드가 생겼다. 위치가 변경되어서 업데이트됩니다. ??? 원래는 번들을 통해 프래그먼트에 데이터를 전달하지만 프래그먼트가 생성되면 프래그먼트 내에 새 데이터가있는 프래그먼트 내 메소드를 만들 수 있지만 어떻게 업데이트해야하는지 알려주고 제공해야합니다. 그것 새로운 위치 데이터 ???
감사합니다.
맞춤식 방송 녹화 위치 업데이 트에 관한 조각을 알리는 eiver .. –
'퓨즈 위치'를 사용하면 백그라운드에서 실행할 필요가없는 최상의 서비스를 제공하여 새롭고 쉬운 '위치 정보'를 업데이트 할 수 있습니다. –