当前位置: 首页 > news >正文

厦门网站建设格装修企业网站建设

厦门网站建设格,装修企业网站建设,云主机添加网站,个人域名备案需要什么Android13新特性之通知权限提升 随着移动通信的高速发展,保障通信的安全性变得尤为重要。在Android 13的最新版本中,通知权限的管理得到了进一步加强。为了实现安全的通信和确保用户的隐私,必须正确申请通知权限。本文将详细探讨如何在Andro…

Android13新特性之通知权限提升

随着移动通信的高速发展,保障通信的安全性变得尤为重要。在Android 13的最新版本中,通知权限的管理得到了进一步加强。为了实现安全的通信和确保用户的隐私,必须正确申请通知权限。本文将详细探讨如何在Android 13中添加通知权限,并阐述其中的实际操作和关键细节。

1. 添加通知权限

在Android 13中,要想唤起通知,首先需要申请对应的通知权限。在应用的清单文件(AndroidManifest.xml)中添加如下代码:

<manifest ...><uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
</manifest>

这样,你的应用就被赋予了显示通知的能力。

2. 动态请求权限

不仅仅是在清单文件中添加权限,还需要在显示通知之前进行动态的权限请求。以下是一个示例代码,演示了如何在动态请求权限的过程中确保用户的通知权限:

fun checkPermission() {val manager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager// 检测该应用是否有通知权限when (manager.areNotificationsEnabled()) {true -> {showNotification()Toast.makeText(this@MainActivity, "点击了通知按钮", Toast.LENGTH_SHORT).show()}false -> {requestPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)}}
}

在上述代码中,我们通过判断应用是否具备通知权限来决定是否展示通知。如果应用没有通知权限,就会触发动态请求权限的过程。

3. 用户禁止授予权限的情景

在某些情况下,用户可能会在第一次请求权限时选择禁止。此后,再次尝试动态请求权限就不会弹出请求弹窗。这时,我们只能引导用户手动开启相应的权限。

4. 权限判断

Android源码中,有一段与权限相关的判断逻辑,它控制了权限的赋予。具体代码如下:

private void grantSignatureAppsNotificationPermissions(PackageManagerWrapper pm, int userId) {Log.i(TAG, "Granting Notification permissions to platform signature apps for user " + userId);List<PackageInfo> packages = mContext.getPackageManager().getInstalledPackagesAsUser(DEFAULT_PACKAGE_INFO_QUERY_FLAGS, UserHandle.USER_SYSTEM);for (PackageInfo pkg : packages) {if (pkg == null || !pkg.applicationInfo.isSystemApp()|| !pkg.applicationInfo.isSignedWithPlatformKey()) {continue;}grantRuntimePermissionsForSystemPackage(pm, userId, pkg, NOTIFICATION_PERMISSIONS);}
}

5. 常见的通知变更

定时通知

在Android 13中,有关通知的变更主要涉及到定时通知。这方面的变更有两个主要方面:

5.1 需要精确闹钟权限

在Android 13中,想要使用精确的定时通知,需要申请以下两个权限之一:

<!-- Android 12添加的权限 -->
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/><!-- Android 13添加的权限 -->
<uses-permission android:name="android.permission.USE_EXACT_ALARM"/>

这两者之间的区别在于,使用SCHEDULE_EXACT_ALARM权限时,用户可以手动关闭,而使用USE_EXACT_ALARM权限时则无法手动关闭。

5.2 用户主动关闭精确闹钟权限后的处理

当用户在首次请求弹窗中选择关闭权限后,再次请求权限时将无法再次弹出请求弹窗。此时,唯一的方法是引导用户手动开启相关权限。

6. 权限判断方法

在Android源码中,有一个新的方法canScheduleExactAlarms(),用于判断应用是否具有精确时间权限。这个方法的实现如下:

public boolean canScheduleExactAlarms() {val am = getSystemService(ALARM_SERVICE) as AlarmManagerreturn am.canScheduleExactAlarms()
}

此方法的判断标准不仅仅包括上述两个精确时间的权限,还考虑了应用是否在节能白名单中。

总之,在Android 13中,确保应用的通知权限对于保障通信的安全性至关重要。同时,在应用中进行精确闹钟权限的判断和处理也显得尤为关键。通过合理的权限管理,可以为用户提供更安全、更稳定的通信环境。

http://www.yayakq.cn/news/768667/

相关文章:

  • 天津营销网站建设公司排名电子商务网站设计与规划
  • 网站后台左侧导航折叠效果打不开wordpress 前端修改
  • 北京网站优化经理做视频网站服务器要求
  • 赣州做网站的大公司企业网站和展板建设
  • 网站建设的感想和建议广州网业有限公司
  • 网站免费推广平台有哪些彩票网站开发制作h5
  • 榆林华科网站建设wordpress上传文件类型
  • 怎么能加强门户网站建设百度资讯
  • 连云港优化网站团队有名的app开发公司
  • 用jsp进行网站开发济南医院网站建设服务公司
  • 网站网页设计设计方案淄博专业做网站
  • 罗湖网站(建设深圳信科)什么网站上做奥数题
  • 如何做个网站南京哪家做电商网站
  • 离退休工作网站建设方案福州网站制作策划
  • 乌鲁瓦提建设管理局网站帮网站做点击
  • 有哪些网站可以免费的百度网站审核期时间
  • 中国风格网站建设门户网站申请报告
  • 汶上公司网站建设潍坊网站制作保定公司电话
  • 桂林设计单位资质升级网站美妆网站设计模板
  • 邻水建设局网站海外永久网站
  • 做动漫的游戏 迅雷下载网站wordpress pods
  • 渭南市住建设局网站哪里做网站做得好
  • 有免费的微网站是什么斗鱼网站开发是用什么语言
  • 手机网站开发公司哪家最专业现在创业什么行业最好
  • 自己做的网站如何上百度asp.net如何设置网站的图标
  • 网站建设平台点击进入wordpress在线浏览pdf
  • h5网站开发培训哪里好wordpress 获取category
  • 不做百度了 百度做的网站开发者模式怎么关闭vivo
  • asp网站导航怎么做科技公司 网站模板
  • 迪庆北京网站建设html网站开发目标