如何确认通知权限已成功开启?

更新于
2026-10-12 07:16:44
2阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计155个文字,预计阅读时间需要1分钟。

如何确认通知权限已成功开启?

检查通知权限是否开启:

如何确认通知权限已成功开启?

java* 获取通知权限状态* */public class NotificationsUtils { private static final String CHECK_OP_NO_THROW=checkOpNoThrow; private static final String OP_POST_NOTIFICATION=OP_POST_NOTIFICATION;}

检查通知权限是否开启

/** * 获取通知栏权限是否开启 * */ public class NotificationsUtils { private static final String CHECK_OP_NO_THROW = "checkOpNoThrow"; private static final String OP_POST_NOTIFICATION = "OP_POST_NOTIFICATION"; @SuppressLint("NewApi") public static boolean isNotificationEnabled(Context context) { AppOpsManager mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); ApplicationInfo appInfo = context.getApplicationInfo(); String pkg = context.getApplicationContext().getPackageName(); int uid = appInfo.uid; Class appOpsClass = null; /* Context.APP_OPS_MANAGER */ try { appOpsClass = Class.forName(AppOpsManager.class.getName()); Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE, String.class); Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION); int value = (Integer) opPostNotificationValue.get(Integer.class); return ((Integer) checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg) == AppOpsManager.MODE_ALLOWED); } catch (Exception e) { } return false; } }

本文共计155个文字,预计阅读时间需要1分钟。

如何确认通知权限已成功开启?

检查通知权限是否开启:

如何确认通知权限已成功开启?

java* 获取通知权限状态* */public class NotificationsUtils { private static final String CHECK_OP_NO_THROW=checkOpNoThrow; private static final String OP_POST_NOTIFICATION=OP_POST_NOTIFICATION;}

检查通知权限是否开启

/** * 获取通知栏权限是否开启 * */ public class NotificationsUtils { private static final String CHECK_OP_NO_THROW = "checkOpNoThrow"; private static final String OP_POST_NOTIFICATION = "OP_POST_NOTIFICATION"; @SuppressLint("NewApi") public static boolean isNotificationEnabled(Context context) { AppOpsManager mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); ApplicationInfo appInfo = context.getApplicationInfo(); String pkg = context.getApplicationContext().getPackageName(); int uid = appInfo.uid; Class appOpsClass = null; /* Context.APP_OPS_MANAGER */ try { appOpsClass = Class.forName(AppOpsManager.class.getName()); Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE, String.class); Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION); int value = (Integer) opPostNotificationValue.get(Integer.class); return ((Integer) checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg) == AppOpsManager.MODE_ALLOWED); } catch (Exception e) { } return false; } }