floating_window_helper.dart 983 B

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:get/get.dart';
  2. import '../plugins/keyboard_android_platform.dart';
  3. /// 悬浮窗工具类
  4. class FloatingWindowHelper {
  5. FloatingWindowHelper._();
  6. /// 是否有悬浮权限
  7. static RxBool hasFloatingWindowPermission = false.obs;
  8. /// 初始化
  9. static void init() {
  10. KeyboardAndroidPlatform.hasFloatingWindowPermission().then((hasPermission) {
  11. hasFloatingWindowPermission.value = hasPermission;
  12. });
  13. }
  14. /// 更新权限状态
  15. static void updatePermissionState() {
  16. KeyboardAndroidPlatform.hasFloatingWindowPermission().then((hasPermission) {
  17. hasFloatingWindowPermission.value = hasPermission;
  18. });
  19. }
  20. /// 显示悬浮窗
  21. static void showFloatingBall() {
  22. // 检查是否有悬浮窗权限
  23. KeyboardAndroidPlatform.hasFloatingWindowPermission().then((hasPermission) {
  24. // 有权限,则启动悬浮窗
  25. if (hasPermission) {
  26. KeyboardAndroidPlatform.enableFloatingWindow(true);
  27. }
  28. });
  29. }
  30. }