#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();
Комментариев нет:
Отправить комментарий