Как правильно реализовать частичный wakeLock? - PullRequest
0 голосов
/ 23 января 2020

Я нашел способы реализовать это следующим образом ...

код:

public class main extends AppCompatActivity implements View.OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lvl_1);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AppName: tag");
    wl.acquire();
    wl.release();
}

И затем я также добавил код разрешения для пробуждения в манифесте. Тем не менее, он не работает должным образом, так как экран выключается, когда я снова открываю экран, мое приложение закрывается и возникает какая-то случайная ошибка. (Ошибка связана не с wakelock, а из-за наличия частичных кодов wakelock, которые я добавили). Ребята, пожалуйста, помогите мне. Я застрял в этом выпуске почти на неделю. Заранее спасибо, ребята.

1 Ответ

0 голосов
/ 23 января 2020

Я настоятельно рекомендую вам прочитать это Android Документация по режиму ожидания Держать устройство активным

Избегайте использования Wake Locks, если вы хотите, чтобы экран был включен.

Если вы хотите, чтобы экран был включен в вашей деятельности, используйте этот тег window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) в вас наСоздать Или Вы можете добиться того же поведения с помощью тега XML. android: keepScreenOn = "true"

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true">
    ...
</RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...