2015-03-08 75 views
0

我想用设备的GPS位置ping一个网址。requestLocationUpdates根本不起作用

中的onCreate

我在下面

public class MyLocationListener implements LocationListener { 
    private final String TAG = "Walkie.LocationListener"; 
    @Override 
    public void onLocationChanged(Location loc) { 
     String longitude = String.valueOf(loc.getLongitude()); 
     String latitude = String.valueOf(loc.getLatitude()); 
     try { 
      URL url = new URL("http://url.com/gps.php?longitude=" + longitude + "&latitude=" + latitude); 

      HttpURLConnection urlc = (HttpURLConnection) url.openConnection(); 
      urlc.setRequestProperty("User-Agent", "Android Application"); 
      urlc.setRequestProperty("Connection", "close"); 
      urlc.setConnectTimeout(1000 * 30); // mTimeout is in seconds 
      urlc.connect(); 
     } catch (MalformedURLException e1) { 
      e1.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     Log.i(TAG, "Status changed"); 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 
     Log.i(TAG, "Provider disabled"); 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
     Log.i(TAG, "Provider enabled"); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
     Log.i(TAG, "Status changed"); 
    } 

} 

gps.php没有ping通这一切的

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
LocationListener locationListener = new MyLocationListener(); 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, locationListener); 

和MyLocationListener类,是不是我做错了什么?

我在清单

android.permission.INTERNET对

android.permission.ACCESS_NETWORK_STATE这些权限

android.permission.ACCESS_FINE_LOCATION

+0

嗨,你解决了吗? – 2015-08-07 07:39:18

回答

0

GPS有一个冷启动一段时间如果它在很长时间后开始可能需要几分钟的时间。

确保您具有GPS也许可在清单

<uses-permission android:name="android.permission.ACCESS_GPS"/> 

此外,还要确保已启用并处于工作状态。

+0

它还是一样,url还没有ping通 – 2015-03-08 21:05:39