[英]Android Apps Cannot Find Location After Installed in Device
我有個問題。
我想使用Android SDK開發可以確定我當前位置的簡單LBS應用程序。 我已經制作了一個,並在Eclipse中使用模擬器對其進行了嘗試。
據我所知,我必須使用DDMS將緯度和經度值發送到模擬器,是的,它可以工作。 現在,我想將其安裝在Android設備上,以確定它是否可以在手機中正常工作。 但是,它無法獲取我的位置。
我想知道這是怎么回事。 互聯網或我的手機提供商會確定我的位置嗎(以在日食中使用DDMS作為交換)? 還是我需要添加一些代碼行使其工作或進行其他配置?
這是我的代碼:
public class PilihFitur extends Activity implements OnClickListener {
private double mylat = 0.0;
private double mylon = 0.0;
private LocationManager locationManager = null;
private Location location = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pilihfitur);
View goToMapsButton = findViewById(R.id.toMapsButton);
goToMapsButton.setOnClickListener(this);
View goToOrderButton = findViewById(R.id.toOrderButton);
goToOrderButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.toMapsButton:
onChangeLocation();
break;
default:
break;
}
}
private void onChangeLocation(){
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 10, new myLocationListener());
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null){
mylat = location.getLatitude();
mylon = location.getLongitude();
Toast.makeText(PilihFitur.this, "Lokasi Anda: \nLat: "+mylat+" Lon: "+mylon, Toast.LENGTH_LONG).show();
}
else
Toast.makeText(PilihFitur.this, "Lokasi Tidak Ditemukan", Toast.LENGTH_SHORT).show();
}
//Location Listener
private class myLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
}
@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
}
}
}
它可以在模擬器上運行,我想知道如何使其在手機上運行。 謝謝。
您可以使用以下位置偵聽器方法檢查位置。 請嘗試將代碼添加到此方法,然后檢查是否獲得位置更新。 有時,最后一個已知位置可以為null。
@Override
public void onLocationChanged(Location location) {
mylat = location.getLatitude();
mylon = location.getLongitude();
Toast.makeText(PilihFitur.this, "Lokasi Anda: \nLat: "+mylat+" Lon: "+mylon, Toast.LENGTH_LONG).show();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.