1
Google지도와 GPS를 다루는 Android 앱을 개발 중입니다. 지도를 표시하는 근접 경보 애플 리케이션은 사용자로부터 터치를 받아들이고 그 위치에 대한 경보를 설정합니다. 목적지까지의 거리를 알려주는 EditText를 추가했습니다. 그러나 사용자가 무엇을 입력하든 앱은 그 값을 2km로 취합니다. 그것은 GPS 대신 셀 타워 정보를 사용하기 때문입니까? 앱을 개발하는 데 도움이 될 수있는 자습서가 있다면 공유하십시오. 사용자가지도에서 위치를 선택하면 사용자가 알림 거리를 입력 할 수있는 새 화면이 표시됩니다. 그러나 앱이지도 화면에서 사용자 입력 화면으로 이동하면 GPS 아이콘이 사라집니다. 무엇이 문제 일 수 있습니까? 알람 설정과 관련된 부분입니다.안드로이드 앱이 새 화면으로 전환하면 GPS 연결이 끊어짐
mSetAlarm.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Get the distance from the shared preferences
SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
String distanceStr = preferences.getString("distance", "0");
double distance = Double.parseDouble(distanceStr);
LocationManager locationManager = (LocationManager) getBaseContext()
.getSystemService(Context.LOCATION_SERVICE);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(LocationInfoActivity.this,
MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
getBaseContext().getApplicationContext(), 234324243,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
MyLocationListener locationListener = new MyLocationListener(
locationManager, preferences, alarmManager,
pendingIntent);
if (distance < Double.parseDouble(i)) {
alarmManager.set(AlarmManager.RTC_WAKEUP, System
.currentTimeMillis(), pendingIntent);
locationManager.removeUpdates(locationListener);
} else if (distance < 4.0) {
WakeMeUtill.requestLocationUpdates(locationManager, 0, 0,
locationListener);
} else {
double quaterDistance = (distance * 3)/4;
WakeMeUtill.requestLocationUpdates(locationManager, 0,
(float) quaterDistance * 1000, locationListener);
}
}
});
}
어떤 기기/Android 버전을 사용하고 계십니까? – Evgeny