How to keep application awake in flutter?

Flutter

Flutter Problem Overview


How to keep an application from locking the screen in flutter?

Is there a flag to turn it off an on? Does flutter SDK expose this?

Something like keepAwake(true);

Thank you

Flutter Solutions


Solution 1 - Flutter

As support for the screen plugin that @Tree mentioned has been discontinued and there are some issues with it now, you can use wakelock.
Full disclosure: I am the author of this plugin, however, it is basically a port of the wakelock functionality from the screen plugin, with the issues fixed:

import 'package:wakelock/wakelock.dart';

// To keep the screen on:
Wakelock.enable(); // or Wakelock.toggle(on: true);

// To let the screen turn off again:
Wakelock.disable(); // or Wakelock.toggle(on: false);

Learn more.

Solution 2 - Flutter

I found plugin that does the job. https://pub.dartlang.org/packages/screen

import 'package:screen/screen.dart';

// Prevent screen from going into sleep mode:
Screen.keepOn(true);

You also need to set permission for android

<uses-permission android:name="android.permission.WAKE_LOCK" />

Solution 3 - Flutter

As @creativecreatorormaybenot already answered, you can use wakeLock to keep the screen on. But I wanted to add where to put the Wakelock.enable();. Here a code snippet how I used it and it works fine for me:

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    Wakelock.enable();
    return MaterialApp(
      debugShowCheckedModeBanner: false,
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: MainScreen()
    );
  }
}

I hope it will fix your problem. Here is the link to the package: https://pub.dev/packages/wakelock

Solution 4 - Flutter

This package does the work https://pub.dev/packages/wakelock

It depends on Flutter Wakelock class.

Permissions The wakelock plugin does not require any permissions on any platform. This is because it only enables the screen wakelock and not any partial (CPU) wakelocks that would keep the app alive in the background.

How to Use it?

// to enable the Android and iOS wakelock
Wakelock.enable();

// to disables the wakelock again.
Wakelock.disable();



import 'package:flutter/material.dart';
import 'package:wakelock/wakelock.dart';


void main() {
  runApp( MyApp());
}


class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    Wakelock.enable(); // Here :)
    return MaterialApp(
      home:  MyHomePage(),
    );
  }
}

Note‍♂️: You have to Stop and Run again

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTreeView Question on Stackoverflow
Solution 1 - FluttercreativecreatorormaybenotView Answer on Stackoverflow
Solution 2 - FlutterTreeView Answer on Stackoverflow
Solution 3 - FlutterguerdaaView Answer on Stackoverflow
Solution 4 - FlutterRamy WahidView Answer on Stackoverflow