2011-03-23 3 views
0

에뮬레이터에서 작동하는 응용 프로그램을 가지고 있지만, 내 휴대 전화에서 시도 할 때, 작동하지 않습니다. 에뮬레이터에 , 나는 전화로 가짜 위치를 보낼 수 있으며이 코드에 문제없이받을 : 내 전화를하려고 할 때내 안드로이드 전화에서 GPS가 작동하지 않습니다.

private class GPSListener implements LocationListener{ 
    private ProgressDialog waitingDialog; 
    public GPSListener(Context c) { 
     this.waitingDialog = ProgressDialog.show(c, "", c.getString(R.string.sWaitingMessage), true); 
    } 
    @Override 
    public void onLocationChanged(Location loc){ 
     int longitude = (int) Math.round(loc.getLongitude() * 1000000); 
     int latitude = (int) Math.round(loc.getLatitude() * 1000000); 
     this.waitingDialog.dismiss(); 
     GeoPoint currentLocation = new GeoPoint(latitude, longitude); 
     GPSPosition.this.whenPositionFound(currentLocation); 
    } 
    @Override 
    public void onProviderDisabled(String provider){} 
    @Override 
    public void onProviderEnabled(String provider){} 
    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) {} 
} 

는하지만, onLocationChanged()가 호출되지 않습니다. 이 가득, 내 로그 여기

LocationManager locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    GPSListener gpsListner = new GPSListener(c); 
    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, gpsListner); 

과 : 내가 잘못 뭐하는 거지

03-23 14:04:28.411: VERBOSE/GpsLocationProvider(148): SV count: 0 ephemerisMask: 0 almanacMask: ffffffff 
03-23 14:04:28.411: DEBUG/RPC(148): written RPC packet size: [24] 
03-23 14:04:28.421: DEBUG/RPC(148): read RPC packet 
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet size: [284] 
03-23 14:04:28.431: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned 
03-23 14:04:28.431: DEBUG/RPC(148): written RPC packet size: [24] 
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet 
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet size: [284] 
03-23 14:04:28.431: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned 
03-23 14:04:28.431: DEBUG/RPC(148): written RPC packet size: [24] 
03-23 14:04:28.441: DEBUG/RPC(148): read RPC packet 
03-23 14:04:28.441: DEBUG/RPC(148): read RPC packet size: [284] 
03-23 14:04:28.441: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned 
03-23 14:04:28.441: DEBUG/RPC(148): written RPC packet size: [24] 
03-23 14:04:28.451: DEBUG/RPC(148): read RPC packet 
03-23 14:04:28.451: DEBUG/RPC(148): read RPC packet size: [284] 

나는이와 GPS 검색을 활성화? 나는 내부/외부를 시도했다, Google지도는 나의 집 안쪽에조차 나를 매우 잘 위치시킨다.

+1

GPS가 기기에서 사용 설정되어 있습니까? –

+0

예, 더미 위치를 보낼 때 신호가 에뮬레이터의 "상단 표시 줄"에서 실행됩니다. GPS는 Google지도에서 내 휴대 전화와 잘 작동합니다. – Swan

+0

기준을 시도 했습니까? 어쩌면 마지막 LocationProvider가 GPS가 아닌 다른 원인 일 수 있습니다. – papachan

답변

0

GPS 좌표를 올바르게 감지하는 것은 Android에서 항상 중요한 문제입니다. 많은 것을 시험해 본 후에 나는 Android camera app이 어떻게 클릭 된 이미지에 좌표를 삽입했는지를 보았습니다. 가장 좋은 방법은 위치 업데이트를 요청할 때 NETWORK_PROVIDER 및 GPS_PROVIDER에 등록하고 minDistance를 0으로 유지하는 것입니다.

GPS 수정 프로그램을 다운로드하는 데 보통 시간이 걸리므로 활동에있는 항목이 위치에 따라 다르면 250ms마다 위치를 확인하십시오.

위치를 얻으려면 먼저 GPS 및 네트워크 제공 업체의 수정 사항이 있는지 확인하십시오.

관련 문제