私は、LocationListener を介してユーザーの GPS 位置情報を取得する際に問題なく機能するアプリケーションを作成しました。何かを変更したのかもしれませんが、もう機能していません。
LocationManager.NETWORK_PROVIDER を使用している場合、バグはプロバイダー LocationManager.GPS_PROVIDER に関連しているようです。したがって、問題は GPS に関連していると思います。ログに奇妙なものが表示されます:
1-28 16:52:23.120: D/StatusBarPolicy(2815): [GPS ICON] updateGps : GPS is on, but not receiving fixes
マニフェストの権限は問題ありません:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
そして、これ以上の関連情報が見つかりません。
私はすでにEclipseとデバイスで基本的なクリーン/再起動を試みました(エミュレーターでテストしていません)。私は怒ろうとしています、その前に何をしようとしているのか誰か考えていますか?
編集 :
これも機能しない愚かで単純なコードです。何か不足していますか?
package com.mytest;
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;
public class GPSTestActivity extends Activity implements LocationListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
Log.v("test", "launched");
}
@Override
public void onLocationChanged(Location location) {
Log.v("test", "location received ! "+location.getLatitude()+";"+location.getLongitude());
}
@Override
public void onProviderDisabled(String provider) {
Log.v("test", "location provider disabled");
}
@Override
public void onProviderEnabled(String provider) {
Log.v("test", "location provider enabled");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.v("test", "location provider status changed");
}
}
編集:ダニエルの回答コメントを参照してください