吉安感知网项目-前端
罗广辉
2026-02-12 67eead570d15378b8b5ae937f2265c6d4f3cbe6d
uniapps/work-app/src/uni_modules/lgh-dialog/utssdk/app-android/index.uts
@@ -3,7 +3,7 @@
import Intent from 'android.content.Intent'
import Settings from 'android.provider.Settings'
import { UTSAndroid } from 'io.dcloud.uts'
import BatteryManager from "android.os.BatteryManager";
import BatteryManager from 'android.os.BatteryManager'
// 拉起应用
export function openDialog(): void {
@@ -26,17 +26,58 @@
   const context = UTSAndroid.getAppContext()
   if (context == null) return
   // 1. 检查悬浮窗权限 (Android 6.0+)
   if (Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(context)) {
      try {
         // 无权限,跳转到权限设置页面
         const intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)
   const noneFloat = Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(context)
   if (noneFloat) {
      uni.showToast({ title: '请允许应用悬浮在屏幕上', icon: 'none' })
   } else {
      setTimeout(() => {
         try {
            // 无权限,跳转到权限设置页面
            const intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)
            intent.setData(android.net.Uri.parse('package:' + context.getPackageName()))
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
            context.startActivity(intent)
         } catch (e) {
            console.error(e)
         }
      }, 2000)
   }
}
// 跳到后台弹出界面权限页面(应用详情设置)
export function allowBackgroundPopup() {
   const context = UTSAndroid.getAppContext()
   if (context == null) return
   try {
      const intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
      intent.setData(android.net.Uri.parse('package:' + context.getPackageName()))
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
      context.startActivity(intent)
   } catch (e) {
      console.error(e)
   }
}
// 跳到锁屏显示权限页面(通知设置)
export function allowLockScreen() {
   const context = UTSAndroid.getAppContext()
   if (context == null) return
   try {
      if (Build.VERSION.SDK_INT >= 26) {
         // Android 8.0+ 跳转到应用通知设置
         const intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
         intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName())
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
         context.startActivity(intent)
      } else {
         // 低版本跳转到应用详情
         const intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
         intent.setData(android.net.Uri.parse('package:' + context.getPackageName()))
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
         context.startActivity(intent)
      } catch (e) {
         console.error(e)
      }
      return
   } catch (e) {
      console.error(e)
   }
}
@@ -50,16 +91,12 @@
 */
export function getBatteryCapacity(): string {
   // 获取android系统 application上下文
    const context = UTSAndroid.getAppContext();
    if (context != null) {
        const manager = context.getSystemService(
            Context.BATTERY_SERVICE
        ) as BatteryManager;
        const currentLevel: number = manager.getIntProperty(
            BatteryManager.BATTERY_PROPERTY_CAPACITY
        );
        return '' + currentLevel + '%';
    }
    return "0%";
   const context = UTSAndroid.getAppContext()
   if (context != null) {
      const manager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager
      const currentLevel: number = manager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)
      return '' + currentLevel + '%'
   }
   return '0%'
}