查询权限
/** * 检查通知权限 */ private fun checkNotifyPermissionStatus() { context?.let { context -> val manager = NotificationManagerCompat.from(context) // areNotificationsEnabled方法的有效性官方只最低支持到API 19,低于19的仍可调用此方法不过只会返回true,即默认为用户已经开启了通知。 val isOpened = manager.areNotificationsEnabled() if (!isOpened) { mBinding.permissionTips.visibility = View.VISIBLE mBinding.goOpenPermission.visibility = View.VISIBLE } else { mBinding.permissionTips.visibility = View.GONE mBinding.goOpenPermission.visibility = View.GONE } } }
引导用户授权
/** * 跳转到允许通知界面 */ private void jumpNoticeInterface() { Intent localIntent = new Intent(); localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT >= 9) { localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); localIntent.setData(Uri.fromParts("package", getContext().getPackageName(), null)); } else if (Build.VERSION.SDK_INT <= 8) { localIntent.setAction(Intent.ACTION_VIEW); localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); localIntent.putExtra("com.android.settings.ApplicationPkgName", getContext().getPackageName()); } startActivity(localIntent); }
End