gps の可用性を聞きたいです。これに従った。ただし、onGpsStatusChanged
GPSを無効/有効にしても起動しませんでした。複数の電話で試しました。また、 this、this、thisなどの関連する stackoverflow Qn も調べました。しかし、成功しませんでした。どんな助けでも大歓迎です。ありがとう!
コード スニペット:
リスナー
Listener mGPSListener = new GpsStatus.Listener() {
@Override
public void onGpsStatusChanged(final int event) {
Log.d(TAG, "---onGpsStatusChanged---");
switch (event) {
case GpsStatus.GPS_EVENT_STARTED:
Log.d(TAG, "GPS_EVENT_STARTED");
break;
case GpsStatus.GPS_EVENT_FIRST_FIX:
Log.d(TAG, "GPS_EVENT_FIRST_FIX");
break;
case GpsStatus.GPS_EVENT_STOPPED:
Log.d(TAG, "GPS_EVENT_STOPPED");
break;
case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
Log.d(TAG, "GPS_EVENT_SATELLITE_STATUS");
break;
default:
Log.d(TAG, "SOMETHING_ELSE");
break;
}
}
};
サービス
.....
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Log.d(TAG, "onStartCommand");
Context ctx = getBaseContext();
Log.d(TAG, "Done, " + ctx);
LocationManager locManager = (LocationManager)
ctx.getSystemService(Context.LOCATION_SERVICE);
Log.d(TAG, "Got locManager");
locManager.addGpsStatusListener(mGPSListener);
Log.d(TAG, "Added -> locManager.addGpsStatusListener(mGPSListener)");
return START_STICKY;
}
.....
context
、などのログ ステートメントを確認できましたが、LocationManager
まったく何もありませんonGpsStatusChanged
。
Edit1 私のマニフェストには、次の権限が含まれています。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>