Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Работа приложения при выключенном экране

#android #android_service


Хотелось бы узнать, что использовать для того, чтобы приложение могло бы работать
в режиме "сна" (при нажатии кнопки выключения)?
Пробовал использовать класс Service, но при выключении экрана он "глохнет". Знаю,
что не достает какой-то важной части (в плане разрешения доступа или чего-то подобного),
но сам не смог найти.
Собственно код:

public class MyService extends Service {

final String LOG_TAG = "myLogs";

@Override
public IBinder onBind(Intent intent) {

    return null;
}

public void onCreate() {
    super.onCreate();
    Log.d(LOG_TAG, "onCreate");
}


public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d(LOG_TAG, "onStartCommand");
    someTask();
    return super.onStartCommand(intent, flags, startId);
}

public void onDestroy() {
    super.onDestroy();
    Log.d(LOG_TAG, "onDestroy");
}

public void someTask() {
   ......
}
}


В в Main-е вызываю сервис при открытии приложения:

public class MainActivity extends AppCompatActivity {
final String LOG_TAG = "myLogs";

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    startService(new Intent(this, MyService.class));
}

    


Ответы

Ответ 1



И это правильно. Так и задумано, чтоб при заблокированном экране батарея устройства не разряжалась. Если, всё же, хотите, то используйте WakeLock и PowerManager: PowerManager mgr = (PowerManager)context.getSystemService(Context.POWER_SERVICE); WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MyWakeLock"); wakeLock.acquire();

Комментариев нет:

Отправить комментарий