2014-10-30 3 views

답변

0

사용자가 캐시하고 오프라인으로 매핑하지 않고지도에있는 위치를 선택하도록 사용자에게 알려주는 것은 아닙니다.

-1

이론적으로 gsm 타워와 그 위치의 목록이 있으면 전화가 연결된 ID를 얻을 수 있습니다 (실수하지 않으면 약 100km 반경).

그러나 실제로는 가능하지 않으므로 두 서비스 중 하나를 사용하지 않고 업데이트 된 위치 데이터를 가져올 수 없습니다.

당신은, 그러나,이 조각을 사용하여 캐시 위치를 얻을 수 있습니다 :

public Location getLastKnownLocation(Context context){ 

LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); 

Location lastKnownLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

return lastKnownLocation; 
} 
+0

여기에는 '불행하게도 app_name이 중지되었습니다.' '라는 메시지가 포함 된 오류 대화 상자가 표시됩니다. –

+0

lastknownlication이 null입니다. 마지막에 캐시 된 위치가없는 경우에 발생할 수 있습니다. – jvrodrigues

+0

그래서 해결책은 무엇입니까? –

1

예는 ... GPS 및 인터넷 연결없이이 코드를 사용해보십시오 NETWORK_PROVIDER

를 통해 현재 위치를 얻을 수 있습니다.

LocationManager lm = null; 
boolean network_enabled = false; 
    if(lm==null) 
     lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); 

    try{ 
    network_enabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
    }catch(Exception ex){} 

    if(!network_enabled){ 
     AlertDialog.Builder dialog = new AlertDialog.Builder(context); 
     dialog.setMessage(context.getResources().getString("Custom message")); 
     dialog.setPositiveButton(context.getResources().getString(R.string.open_location_settings), new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface paramDialogInterface, int paramInt) { 
       // TODO Auto-generated method stub 
       Intent myIntent = new Intent(Settings.ACTION_SECURITY_SETTINGS); 
       context.startActivity(myIntent); 
       //get gps 
      } 
     }); 
     dialog.setNegativeButton(context.getString(R.string.Cancel), new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface paramDialogInterface, int paramInt) { 
       // TODO Auto-generated method stub 

      } 
     }); 
     dialog.show(); 

    } 
+1

이 작동하지 않으며 네트워크가 필요합니다. –

+0

그 밖의 무엇을 기대합니까? 네트워크 요청 – silverFoxA

관련 문제