You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Flutter读取Android电池睡眠设置?是否有可用插件?

读取Android系统屏幕休眠设置及Flutter实现方案

Android原生端可行性

完全可以实现,但需注意权限与API版本要求:

  • Android 6.0(API 23)及以上版本,读取屏幕休眠时间需要申请android.permission.WRITE_SETTINGS权限。这是特殊权限,无法通过常规运行时权限弹窗获取,必须引导用户跳转到系统设置页面手动开启授权。
  • 读取逻辑直接通过系统Settings类实现:
    int timeout = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
    
    返回值为毫秒数,比如30秒对应30000,5分钟对应300000。
  • 注意:部分定制ROM可能限制该接口访问,导致读取失败,需做兼容处理。

Flutter插件支持

有现成第三方插件可用,也可自行通过MethodChannel实现:

  • 现成插件:screen_off_timeout插件封装了原生的读取与设置逻辑,按照文档处理权限引导即可快速获取当前休眠时长。
  • 自定义实现:若需更灵活控制,可通过Flutter的MethodChannel对接原生代码:
    1. 在Android原生模块中编写读取SCREEN_OFF_TIMEOUT的方法,并处理权限跳转逻辑。
    2. 在Flutter端通过MethodChannel调用该方法,接收返回的毫秒数后转换为易读的时间格式。

内容的提问来源于stack exchange,提问作者atreeon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:55:02