import 'package:bytedesk_kefu/bytedesk_kefu.dart'; import 'package:flutter/material.dart'; import 'package:list_tile_switch/list_tile_switch.dart'; // 消息声音、振动设置页面 class SettingPage extends StatefulWidget { const SettingPage({Key? key}) : super(key: key); @override _SettingPageState createState() => _SettingPageState(); } class _SettingPageState extends State { bool _playAudioOnSendMessage = false; bool _playAudioOnReceiveMessage = false; bool _vibrateOnReceiveMessage = false; // @override void initState() { _playAudioOnSendMessage = BytedeskKefu.getPlayAudioOnSendMessage()!; _playAudioOnReceiveMessage = BytedeskKefu.getPlayAudioOnReceiveMessage()!; _vibrateOnReceiveMessage = BytedeskKefu.getVibrateOnReceiveMessage()!; super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('消息设置'), elevation: 0, ), body: ListView( children: ListTile.divideTiles( context: context, tiles: [ ListTileSwitch( value: _playAudioOnSendMessage, onChanged: (value) { setState(() { _playAudioOnSendMessage = value; }); BytedeskKefu.setPlayAudioOnSendMessage(value); }, title: const Text('发送消息时播放声音'), ), ListTileSwitch( value: _playAudioOnReceiveMessage, onChanged: (value) { setState(() { _playAudioOnReceiveMessage = value; }); BytedeskKefu.setPlayAudioOnReceiveMessage(value); }, title: const Text('收到消息时播放声音'), ), ListTileSwitch( value: _vibrateOnReceiveMessage, onChanged: (value) { setState(() { _vibrateOnReceiveMessage = value; }); // 注意:需要在安卓AndroidManifest.xml添加权限 BytedeskKefu.setVibrateOnReceiveMessage(value); }, title: const Text('收到消息时振动'), ), ], ).toList()), ); } }