6

Android のアプリで GPS 位置情報を取得しようとしましたが、うまくいきませんでした。私は何が間違っているのか知りたいです。これまでに次の方法を試しました。

他の多くのものと同様ですが、すべて無駄です。

上記のすべての解決策が一部の人または他の人に対して機能したことを考慮して、これを使用してデバッグします。

package my.namespace;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class HomeActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    LocationListener ll = new mylocationlistener();
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
    }

    private class mylocationlistener implements LocationListener {
    public void onLocationChanged(Location location) {
        if (location != null) {
        Log.d("LOCATION CHANGED", location.getLatitude() + "");
        Log.d("LOCATION CHANGED", location.getLongitude() + "");
        Toast.makeText(HomeActivity.this,
            location.getLatitude() + "" + location.getLongitude(),
            Toast.LENGTH_LONG).show();
        }
    }
    public void onProviderDisabled(String provider) {
    }
    public void onProviderEnabled(String provider) {
    }
    public void onStatusChanged(String provider, int status, Bundle extras) {
    }
    }
}

、および@overrideの 3 つのメソッドに注釈がありました。これらのメソッドがスーパークラスをオーバーライドしていないという Eclipse のエラーが発生したため、それらを削除する必要がありました。onProviderDisabledonProviderEnabledonStatusChanged

ACCESS_FINE_LOCATIONマニフェスト ファイル ( 、ACCESS_MOCK_LOCATIONACCESS_COARSE_LOCATIONおよび)に権限を追加しましたINTERNET

誰かが私が間違っているかもしれないことを知っていますか?

編集:エミュレータ(Android 2.2 API 8)で実行

4

1 に答える 1

3

アプリをテストするときは、必ず GPS を有効にしてください。NETWORK_PROVIDER と GPS_PROVIDER の両方を使用する場合にも役立ちます。そのため、GPS が利用できない場合でも、NETWORK_PROVIDER で場所を取得できます。

更新: また、エミュレーターを使用してアプリをテストしている場合は、コマンド ラインまたは Eclipse を使用して GPS 修正をエミュレートしてください。これを行う方法に関するstackoverflowの質問へのリンクは次のとおりです AndroidエミュレーターでGPS位置をエミュレートする方法?

于 2012-04-26T11:22:12.033 に答える