Android: необходимо указать допустимый уровень блокировки пробуждения

avatar
Mr. Robot
1 июля 2021 в 18:32
24
0
0

На SO уже есть очень похожие вопросы, но ни одно из решений мне не подходит.

Я получаю сообщение об ошибке "Необходимо указать допустимый уровень блокировки пробуждения".

Вот мой код:

public class MainActivity extends ReactActivity  implements ReactInstanceManager.ReactInstanceEventListener{

    @Override
    protected String getMainComponentName() {
        return "abc";
    }

    private ReactContext mReactContext;
    private PowerManager.WakeLock sCpuWakeLock;
    private Activity activity;
    private static final String TAG = "MainActivity";

    public void onReactContextInitialized(ReactContext context) {
        Log.d(TAG, "Here's your valid ReactContext");

        activity = context.getCurrentActivity();

        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        int flags = PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE;
        sCpuWakeLock = pm.newWakeLock(flags, activity.getClass().getName());
        sCpuWakeLock.acquire();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
            setShowWhenLocked(true);
            setTurnScreenOn(true);
        }

        getWindow().addFlags(
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                        | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                        | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                        | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);
        RNBootSplash.init(R.drawable.bootsplash, MainActivity.this);

        getReactInstanceManager().addReactInstanceEventListener(this);

Использование блокировки пробуждения таким образом в других частях моего приложения не приводит к сбою. Почему в этом экземпляре возникает ошибка?

Источник

Ответы (0)