From 3a66f3a86ae624314a83553d9d608145c92f7471 Mon Sep 17 00:00:00 2001 From: hugo <> Date: Tue, 9 Apr 2024 01:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A3=80=E6=9F=A5=E6=82=AC?= =?UTF-8?q?=E6=B5=AE=E7=AA=97=E6=9D=83=E9=99=90=E8=BE=85=E5=8A=A9=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permissionx/guolindev/PermissionX.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/permissionx/src/main/java/com/permissionx/guolindev/PermissionX.java b/permissionx/src/main/java/com/permissionx/guolindev/PermissionX.java index 84431cb..da30ac0 100644 --- a/permissionx/src/main/java/com/permissionx/guolindev/PermissionX.java +++ b/permissionx/src/main/java/com/permissionx/guolindev/PermissionX.java @@ -18,6 +18,8 @@ import android.content.Context; import android.content.pm.PackageManager; +import android.os.Build; +import android.provider.Settings; import androidx.annotation.NonNull; import androidx.core.app.NotificationManagerCompat; @@ -83,7 +85,23 @@ public static boolean areNotificationsEnabled(@NonNull Context context) { return NotificationManagerCompat.from(context).areNotificationsEnabled(); } - public static final class permission { + /** + * A helper function , Checks current app can draw on top of other apps + * Manifest.permission.SYSTEM_ALERT_WINDOW + * @param context Any context, will not be retained. + * @return Note that if Android version is lower than M, the return value will always be true. + */ + public static boolean canDrawOverlays(@NonNull Context context ){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ + // 对于Android 6.0(API 级别 23)及以上版本,需要检查悬浮窗权限 + return Settings.canDrawOverlays(context); + } + // 在Android 6.0以下,可以认为此权限是默认授予的 + return true; + } + + + public static final class permission { /** * Define the const to compat with system lower than T. */