我写了个GPS的小程序,得借助于导航软件才能得到数据,请大家帮我一下.
mLocManager = (LocationManager)mScreen.getSystemService(Context.LOCATION_SERVICE);;Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = mLocManager.getBestProvider(criteria, true);
log("provider is :"+ provider);
try {
if (provider == null) {
provider = mLocManager.getProviders(true).get(0);
log("get 0 provider is :"+ provider);
}
} catch (IndexOutOfBoundsException e) {
} finally {
if(provider == null) {
Toast.makeText(mScreen, "Starting GPS alarm failed.\nNo provider is available.", Toast.LENGTH_LONG).show();
return;
}
}
Location location = mLocManager.getLastKnownLocation(provider);
mScreen.updateLocation(location);
mLocManager.requestLocationUpdates(provider, 2000, 10,
this);
这是我的代码. --------------------编程问答-------------------- 我想你可能需要打开硬件GPS。 --------------------编程问答-------------------- 我已经在设置中把GPS开了. --------------------编程问答--------------------
你想要问什么问题,有报错吗 --------------------编程问答-------------------- 没怎么研究过这一块,我写的是provider == null
然后换成 provider = locationManager.NETWORK_PROVIDER; --------------------编程问答-------------------- 我写的GPS定位,测试过了。
LocationManager locationManager=(LocationManager)MylocationActivity.this.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new TestLocationListener());
一个监听类
private class TestLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location l)
{
// TODO Auto-generated method stub
textX.setText("X="+l.getLongitude());
textY.setText("Y="+l.getLatitude());
}
@Override
public void onProviderDisabled(String arg0)
{
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0)
{
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2)
{
// TODO Auto-generated method stub
}
} --------------------编程问答-------------------- 还需要权限哦
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
那个时候做过一次,利用GPS得到坐标,然后利用谷歌的服务。得到地理位置的名称
好像百度也有定位API,也可以试试 --------------------编程问答-------------------- 是不是你用定位软件可以得到数据,而用你自己写的程序得不到喽?
如果是的话,那是应为你gps没有处于START状态,HAL不会上传数据,而你作用的那个获取gps数据的接口在
HAL没有实现,所以你神马都得不到。
补充:移动开发 , Android