Страницы

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

среда, 29 мая 2019 г.

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

Хотелось бы узнать, что использовать для того, чтобы приложение могло бы работать в режиме "сна" (при нажатии кнопки выключения)? Пробовал использовать класс 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)); }


Ответ

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

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

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