Выполните задание на определенном уровне заряда батареи, используя Battery Manager - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь получить уровень заряда батареи через диспетчер батареи в службе, но не могу это сделать. Я хочу выполнить задачу на определенном уровне заряда батареи, даже когда приложение закрыто. Я плохо умею пользоваться Сервисом. Поэтому я разместил свой код обслуживания ниже. Я не знаю, сделал ли я что-то не так в Сервисе или что. Я также определил это в Манифесте, но даже когда батарея становится ниже 25, она не отправляет местоположение. Мой сервисный код:

public class AutoService extends Service {

BatteryManager batteryManager;
DatabaseHelper db;

@Override
public void onCreate() {
super.onCreate();
    batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);
    db = new DatabaseHelper(this);

}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    String cont1 = db.contact().toString();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        int batLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
        if (batLevel <= 25) {

            SharedPreferences mPre = getSharedPreferences("MY_PREF", MODE_PRIVATE);
            String savedLocation = mPre.getString("LOCATION", "");
            // Send message to
            SmsManager smsManager = SmsManager.getDefault();
            smsManager.sendTextMessage(cont1, null, savedLocation, null, null);
        }
    }
    return super.onStartCommand(intent, flags, startId);

}

@Override
public void onDestroy() {
    super.onDestroy();

}

    @Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

Мой logcat:

 2019-11-10 11:50:16.271 25337-9682/com.google.android.googlequicksearchbox:search E/EntrySyncManager: Cannot determine account name: drop request
2019-11-10 11:50:16.291 25337-9682/com.google.android.googlequicksearchbox:search E/NowController: Failed to access data from EntryProvider. ExecutionException.
java.util.concurrent.ExecutionException: com.google.android.apps.gsa.sidekick.main.h.n: Could not complete scheduled request to refresh entries. ClientErrorCode: 3
    at com.google.common.util.concurrent.d.eA(SourceFile:85)
    at com.google.common.util.concurrent.d.get(SourceFile:23)
    at com.google.common.util.concurrent.l.get(SourceFile:2)
    at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.cbB(SourceFile:49)
    at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.cbA(SourceFile:181)
    at com.google.android.apps.gsa.staticplugins.nowstream.b.a.bh.run(Unknown Source:2)
    at com.google.android.apps.gsa.shared.util.concurrent.at.run(SourceFile:4)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at com.google.android.apps.gsa.shared.util.concurrent.b.g.run(Unknown Source:4)
    at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
    at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
    at com.google.android.apps.gsa.shared.util.concurrent.b.i.run(SourceFile:6)
 Caused by: com.google.android.apps.gsa.sidekick.main.h.n: Could not complete scheduled request to refresh entries. ClientErrorCode: 3
    at com.google.android.apps.gsa.staticplugins.nowstream.b.a.ar.az(Unknown Source:4)
    at com.google.common.util.concurrent.q.ap(SourceFile:7)
    at com.google.common.util.concurrent.p.run(SourceFile:32)
    at com.google.common.util.concurrent.bt.execute(SourceFile:3)
    at com.google.common.util.concurrent.d.b(SourceFile:275)
    at com.google.common.util.concurrent.d.addListener(SourceFile:135)
    at com.google.common.util.concurrent.p.b(SourceFile:3)
    at com.google.android.apps.gsa.shared.util.concurrent.h.a(SourceFile:16)
    at com.google.android.apps.gsa.shared.util.concurrent.h.a(SourceFile:13)
    at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.cbB(SourceFile:47)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...