[android-developers] can't find my location through gps

Location location=locationManager.getLastKonwLocation(provider);
i find that location==null;
through my G4 i can find my location but int System 1.5 i find
nothing,who can tell me why?

this is code :
public void onCreate()
{

super.onCreate();
//PengPengShare.tv.setText("呵呵");
init();
}
/*
public void onStart(Intent intent,int startId)
{
super.onStart(intent, startId);
//init();
PengPengShare.tv.setText("呵呵");
}*/
private final LocationListener locationListener=new
LocationListener()
{

@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
upadateWithNewLocation(location);
}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
upadateWithNewLocation(null);
}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String provider, int status, Bundle
extras) {
// TODO Auto-generated method stub

}

};
private void init() {
// TODO Auto-generated method stub
/*这里要插入一段自动打开GPS的代码
boolean gpsEnabled =
Settings.Secure.isLocationProviderEnabled( getContentResolver(),
LocationManager.GPS_PROVIDER );
if(gpsEnabled)
{
//关闭GPS

Settings.Secure.setLocationProviderEnabled( getContentResolver(),
LocationManager.GPS_PROVIDER, false );
}
else
{
//打开GPS

Settings.Secure.setLocationProviderEnabled( getContentResolver(),
LocationManager.GPS_PROVIDER, true);
}*/


locManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
criteria=new Criteria();
criteria.setAccuracy(0);
//一下四行每个啥子意思我还没弄清楚
/*
criteria.setAccuracy(Criteria.ACCURACY_FINE);// 设置为最大精度
criteria.setAltitudeRequired(false);//不要求海拔信息
criteria.setBearingRequired(false);// 不要求方位信息
criteria.setCostAllowed(true);//是否允许付费
criteria.setPowerRequirement(Criteria.POWER_LOW);// 对电量的要

//将gps和基站都打开
/*Settings.Secure.putString(getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
"network");
Settings.Secure.putString(getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
"gps");*/
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
provider=locManager.getBestProvider(criteria, true);
location=locManager.getLastKnownLocation(provider);
//三分钟更新一次地理位置并发送
if(location==null)
{
//upadateWithNewLocation(location);
locManager.requestLocationUpdates(provider, 10, 10,
locationListener);

//locationManager.removeUpdates(locationListener);当蓝牙蓝牙连上后就不再更新地理位

}}
private void upadateWithNewLocation(Location location2) {
// TODO Auto-generated method stub
if(location!=null)
{
jingDu=location.getLongitude();
weidu=location.getLatitude();
PengPengShare.tv.setText(jingDu+"");
PengPengShare.tv2.setText(weidu+"");

//-1的意思就是不重复
//每刷新一次获得的地理位置,再通过Socket传送到服务器端,那么这里还需要有个传送的接口
/*SendLocation send=new SendLocation();
//注意这里,不需要使用线程,因为只有再再次获得的时候才再次建立socket连接发送数据
send.sendJingduLocation(jingDu);
send.sendWeiduLocation(weidu);*/
}
else
{

PengPengShare.tv.setText("hha");
//isGetLocation=false;//没有取得地理位置
//AlertDialog ad=new
AlertDialog.Builder(context).setIcon(R.drawable.icon).setTitle("没有获取地理位
置")
//.setPositiveButton("OK",null).setMessage("没有获取位置信
息").create();
//ad.show();
Log.i("ssss","sssss");
}
}
public void onDestroy()
{
super.onDestroy();
//locManager.addGpsStatusListener(listener);
}
}

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en