簡體   English   中英

在設備中安裝Android應用后找不到位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM