jobserviceを呼び出すjobschedulerを実装しようとしていますが、これは5分ごとに特定のgeoLocationに費やされた時間を取得するトリガです。下のコードはMarshmallow以上で動作していますが、ロリポップ以下ではクラッシュします。 これはロリポップのために働くだろう、このいずれかを試してみてくださいjava.lang.NoSuchMethodError:いいえ仮想メソッドgetSystemService
04-19 11:38:25.358 1986-4658/com.eonelectric.eon E/AndroidRuntime: FATAL EXCEPTION: IntentService[GeofenceTransitionsIS]
Process: com.eonelectric.eon, PID: 1986
java.lang.NoSuchMethodError: No virtual method getSystemService(Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/content/Context; or its super classes (declaration of 'android.content.Context' appears in /system/framework/framework.jar)
at com.eonelectric.eon.GeneralUtil.startSyncAlarm(GeneralUtil.java:440)
at com.eonelectric.eon.beatTrack.GeofenceTransitionsIntentService.getGeofenceTransitionDetails(GeofenceTransitionsIntentService.java:137)
at com.eonelectric.eon.beatTrack.GeofenceTransitionsIntentService.onHandleIntent(GeofenceTransitionsIntentService.java:96)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)
私は同じ問題に直面しています。あなたはそれに対して何か解決策がありますか? – Jordon
私はAlarmManagerを以下のロリポップ(API 21)に、JobSchedulerをMarshmallow以上に使用しています。今はクラッシュしていません。まだJobSchedulerは正確な時間(5分)でサービスを起動していない、バックグラウンドスレッドを殺すOSかもしれない。 AlarmManagerがバッテリを使い過ぎています。 @ジョーダン –
私のためにJobSchedulerはmarshmallowに取り組んでいます.10秒間隔で試してみましたが、うまくいきました。あなたはAndroid Nでジョブスケジューラをチェックしましたか?私にとってJobはAndroid Nで一度だけ呼び出されています。 – Jordon