2

Android 2.3.1 プロジェクトを使用して、LocationManager.GPS_PROVIDER を使用して現在の場所を取得しています。

これは私のコードです

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

    LocationManager locManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
    LocationListener locListener = new BTILocationListener();

    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener);
}

public class BTILocationListener implements LocationListener {

    @Override
    public void onLocationChanged(Location loc) {
        Log.d("BTILocation", "Inside onLocationChanged() ---");

        if (loc != null) {
            double latitude = loc.getLatitude();
            double longitude = loc.getLongitude();

            String locationstr = "Latitude = " + latitude + " longitude = "  +longitude;

            Log.d("BTILocation", locationstr);



        }
    }

    @Override
    public void onProviderDisabled(String provider) {
        Toast.makeText(getApplicationContext(), "GPS Disabled", Toast.LENGTH_SHORT).show();
        Log.w("BTILocation", "GPS is Disabled");
    }

    @Override
    public void onProviderEnabled(String provider) {
        Toast.makeText(getApplicationContext(), "GPS Enabled", Toast.LENGTH_SHORT).show();
        Log.w("BTILocation", "GPS is Enabled");
    }

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

    }

}

私が使用する権限セット -

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

開いている telnet 接続を使用しています

telnet localhost 5544
geo fix 12 22

logcat に次のエラーが表示されます -

E/GpsLocationProvider(   75): native_start failed in startNavigating()

onLocationChanged(location loc) で返されるロケーション オブジェクトは、2.3.1 では常に null です。

同じコードが Android 2.1 と 4.0 で正常に動作します。この問題の解決を手伝ってください。Google 検索を試しましたが、どこにも解決策が見つかりませんでした。ありがとう!Android API レベル 7 と互換性のある Google API を持っていません。ダウンロード方法を知っている人はいますか?

4

2 に答える 2

0

プラットフォーム 2.3 の既知の問題のようです。Android SDK マネージャーを使用して、プラットフォーム 2.2 および 2.1 用の Google API をダウンロードしました。必要なパッケージをダウンロードできるようにするには、廃止されたチェックボックスをオンにする必要がありました。

于 2012-04-07T14:11:36.993 に答える