flutter如何获取设备电量信息

在Flutter开发中,如何获取设备的当前电量信息?需要引入什么插件或原生代码吗?能否提供一个简单的示例代码?

2 回复

使用 battery_plus 插件获取设备电量信息。安装后在代码中调用 Battery().batteryLevel 即可获取当前电量百分比。

更多关于flutter如何获取设备电量信息的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中获取设备电量信息,可以通过 battery 插件实现。以下是详细步骤:

1. 添加依赖

pubspec.yaml 文件中添加:

dependencies:
  battery: ^2.0.3

运行 flutter pub get 安装插件。

2. 基本使用代码

import 'package:battery/battery.dart';

class BatteryInfo {
  static final Battery _battery = Battery();

  // 获取当前电量百分比
  static Future<int> getBatteryLevel() async {
    return await _battery.batteryLevel;
  }

  // 监听电池状态变化
  static Stream<BatteryState> getBatteryState() {
    return _battery.onBatteryStateChanged;
  }
}

// 使用示例
void checkBattery() async {
  int level = await BatteryInfo.getBatteryLevel();
  print('当前电量:$level%');
  
  BatteryInfo.getBatteryState().listen((state) {
    print('电池状态:${state.toString()}');
  });
}

3. 电池状态说明

  • BatteryState.full:已充满
  • BatteryState.charging:充电中
  • BatteryState.discharging:放电中

4. 平台权限说明

  • Android:需要添加权限 在 android/app/src/main/AndroidManifest.xml 中添加:
    <uses-permission android:name="android.permission.BATTERY_STATS"/>
    
  • iOS:无需额外配置

注意事项

  1. 建议在获取电量前检查电池状态
  2. 使用 Stream 监听状态变化时记得取消订阅
  3. 模拟器可能无法返回真实电量数据

通过这种方式即可在 Flutter 应用中获取设备的实时电量信息。

回到顶部