ユーザーの位置を追跡するAndroidアプリを開発しています。問題は、requestLocationUpdates() が呼び出されましたが、LocationListener への応答がないことです。
ps requestLocationUpdates() が呼び出された後、GPS インジケータが上部のステータス バーに表示されます。
ps android 4.0以前なら問題ありません。Galaxy nexus を 4.1 にアップデートした後、この問題が発生しました。これはOSの問題に関連していますか?
誰でもこれを考えていますか?どうもありがとう!
マニフェスト:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
ロケーションマネージャー:
LocationManager lm = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
ロケーションリスナー:
private final LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
System.out.println("onLocationChanged");
}
@Override
public void onProviderDisabled(String provider) {
System.out.println("onProviderDisabled");
}
@Override
public void onProviderEnabled(String provider) {
System.out.println("onProviderEnabled");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
System.out.println("onStatusChanged");
}
};
開始方法:
Criteria c = new Criteria();
c.setAccuracy(Criteria.ACCURACY_FINE);
final String PROVIDER = lm.getBestProvider(c, true);
lm.requestLocationUpdates(PROVIDER, 600000, 0, locationListener);