2015-07-29 6 views
0

Мне нужно получить lat/lng с устройства Android, но ограничение в том, что мое местоположение устройства отключено от настроек, а требование пользователей - не включать местоположение.получить местоположение, если местоположение отключено от настроек

так что можно получить lat/lng с устройства?

+1

вы можете получить последнее место, но это не идеальное место. Таким образом, нужно использовать службу определения местоположения, если хотите использовать местоположение в приложении. Для получения дополнительной информации https://developer.android.com/training/location/retrieve-current.html –

+0

Последнее местоположение доступно, если местоположение включено из настроек, если нет, то вы не сможете получить последнее местоположение , – nitesh

ответ

0

Вам нужно будет использовать LocationManager.

Прочитано Documentation.

Редактировать: - Извините, я не знаю, насколько мне известно. Получение местоположения, когда пользователь этого не хочет, невозможно с помощью этических средств.

+0

Менеджер местоположения используется, если службы определения местоположения включены. – nitesh

+0

Спасибо @nitesh, исправил мой ответ. –

0

называют это Намерение, когда расположение от

startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS),110); 

ИЛИ вызвать этот метод, если вы хотите, чтобы получить местоположение пользователя.

public boolean isLocationEnable() { 
    LocationManager locationManager; 
    if (locationManager == null) 
     locationManager = (LocationManager) this 
       .getSystemService(Context.LOCATION_SERVICE); 
    boolean gps_enabled = false; 
    try { 
     gps_enabled = locationManager 
       .isProviderEnabled(LocationManager.GPS_PROVIDER); 
    } catch (Exception ex) { 
    } 
    boolean network_enabled = false; 
    try { 
     network_enabled = locationManager 
       .isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
    } catch (Exception ex) { 
    } 

    if (!gps_enabled && !network_enabled) { 
     Builder dialog = new AlertDialog.Builder(this); 
     dialog.setMessage("Activate Location"); 
     dialog.setCancelable(false); 
     dialog.setPositiveButton("Setting", 
       new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(
          DialogInterface paramDialogInterface, 
          int paramInt) { 
         // TODO Auto-generated method stub 
         startActivityForResult(
           new Intent(
             android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 
           110); 
        } 
       }); 
     dialog.setNegativeButton("Cancel", 
       new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(
          DialogInterface paramDialogInterface, 
          int paramInt) { 
        } 
       }); 
     dialog.show(); 
     return false; 
    } else { 
     return true; 
    } 
} 
Смежные вопросы