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

公司网站怎么做网站备案珠海建设局网站首页

公司网站怎么做网站备案,珠海建设局网站首页,怎么让网站绑定域名访问,网站建设推介文章目录 深入分析 Android BroadcastReceiver (七)1. 高级应用场景1.1 示例#xff1a;动态权限请求1.2 示例#xff1a;应用内通知更新 2. 安全性与性能优化2.1 示例#xff1a;设置权限防止广播攻击2.2 示例#xff1a;使用 LocalBroadcastManager2.3 示例#xff1a;在… 文章目录 深入分析 Android BroadcastReceiver (七)1. 高级应用场景1.1 示例动态权限请求1.2 示例应用内通知更新 2. 安全性与性能优化2.1 示例设置权限防止广播攻击2.2 示例使用 LocalBroadcastManager2.3 示例在生命周期中注册和取消注册广播接收器 3. 总结 深入分析 Android BroadcastReceiver (七) 1. 高级应用场景 动态权限请求 在 Android 6.0API 23及以上应用需要在运行时请求权限。BroadcastReceiver 可以用来监听权限变化并在权限授予或拒绝后采取相应的措施。 1.1 示例动态权限请求 请求权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);处理权限请求结果 Override public void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode REQUEST_CAMERA_PERMISSION) {if (grantResults.length 0 grantResults[0] PackageManager.PERMISSION_GRANTED) {// 权限授予发送广播Intent intent new Intent(com.example.PERMISSION_GRANTED);sendBroadcast(intent);} else {// 权限被拒绝Toast.makeText(this, Camera permission denied, Toast.LENGTH_SHORT).show();}} }监听权限变化的广播接收器 public class PermissionReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {if (com.example.PERMISSION_GRANTED.equals(intent.getAction())) {// 处理权限授予后的操作Toast.makeText(context, Camera permission granted, Toast.LENGTH_SHORT).show();}} }// 在 Manifest 文件中声明接收器 receiver android:name.PermissionReceiverintent-filteraction android:namecom.example.PERMISSION_GRANTED//intent-filter /receiver应用内更新通知 通过广播机制可以实现应用内的通知更新例如某个模块发生了数据更新需要通知其他模块进行相应的操作。 1.2 示例应用内通知更新 发送广播通知 Intent intent new Intent(com.example.DATA_UPDATED); intent.putExtra(data, New data available); LocalBroadcastManager.getInstance(this).sendBroadcast(intent);接收广播通知 Override protected void onStart() {super.onStart();IntentFilter filter new IntentFilter(com.example.DATA_UPDATED);LocalBroadcastManager.getInstance(this).registerReceiver(dataUpdateReceiver, filter); }Override protected void onStop() {super.onStop();LocalBroadcastManager.getInstance(this).unregisterReceiver(dataUpdateReceiver); }private final BroadcastReceiver dataUpdateReceiver new BroadcastReceiver() {Overridepublic void onReceive(Context context, Intent intent) {String data intent.getStringExtra(data);// 处理数据更新Toast.makeText(context, Data updated: data, Toast.LENGTH_SHORT).show();} };2. 安全性与性能优化 避免广播攻击 公共广播可能会被恶意应用利用进行广播攻击导致安全问题。为广播接收器设置合适的权限可以有效防止此类攻击。 2.1 示例设置权限防止广播攻击 发送广播时设置权限 Intent intent new Intent(com.example.SECURE_ACTION); sendBroadcast(intent, com.example.MY_PERMISSION);接收器声明权限 receiver android:name.SecureReceiver android:permissioncom.example.MY_PERMISSIONintent-filteraction android:namecom.example.SECURE_ACTION//intent-filter /receiver使用 LocalBroadcastManager LocalBroadcastManager 仅在应用内部进行广播通信具有更高的安全性和效率。 2.2 示例使用 LocalBroadcastManager 发送本地广播 LocalBroadcastManager localBroadcastManager LocalBroadcastManager.getInstance(this); Intent intent new Intent(com.example.LOCAL_EVENT); localBroadcastManager.sendBroadcast(intent);接收本地广播 Override protected void onStart() {super.onStart();IntentFilter filter new IntentFilter(com.example.LOCAL_EVENT);LocalBroadcastManager.getInstance(this).registerReceiver(localEventReceiver, filter); }Override protected void onStop() {super.onStop();LocalBroadcastManager.getInstance(this).unregisterReceiver(localEventReceiver); }private final BroadcastReceiver localEventReceiver new BroadcastReceiver() {Overridepublic void onReceive(Context context, Intent intent) {// 处理本地事件Toast.makeText(context, Local event received, Toast.LENGTH_SHORT).show();} };合理的生命周期管理 在组件的生命周期中合理注册和取消注册广播接收器避免内存泄漏和资源浪费。 2.3 示例在生命周期中注册和取消注册广播接收器 Override protected void onStart() {super.onStart();IntentFilter filter new IntentFilter(com.example.SOME_ACTION);registerReceiver(someReceiver, filter); }Override protected void onStop() {super.onStop();unregisterReceiver(someReceiver); }private final BroadcastReceiver someReceiver new BroadcastReceiver() {Overridepublic void onReceive(Context context, Intent intent) {// 处理接收到的广播} };3. 总结 广播机制在 Android 中是一个非常灵活和强大的组件通信方式适用于多种应用场景。通过系统广播、自定义广播、有序广播和本地广播可以实现多样化的通信需求。在实际应用中开发者需要结合具体需求选择合适的广播机制并通过优化策略提升应用的性能和安全性。 动态权限请求使用广播机制监听权限变化及时处理权限授予或拒绝后的操作。应用内更新通知通过广播实现模块间的数据更新通知保持组件间的松耦合。安全性优化通过设置权限和使用 LocalBroadcastManager 提升广播的安全性避免广播攻击。性能优化合理管理广播接收器的生命周期避免内存泄漏和资源浪费。 通过合理运用广播机制及其优化策略开发者可以有效提升应用的可维护性、稳定性和安全性从而构建高质量的 Android 应用。 欢迎点赞|关注|收藏|评论您的肯定是我创作的动力
http://www.hkea.cn/news/14392126/

相关文章:

  • 手机网站怎么搜索引擎网站开发视频会议插件
  • 廊坊哪里有做网站的seo网站优化推广教程
  • 临沂百度网站推广做网站专业公司
  • 大型网站建设网站推广汽车网站排行榜前十名
  • 成都哪家网站建设强电商网站设计的原则
  • 网站开发著作权微信公众号怎么做网站链接
  • 科技公司建设网站百度推广建设网站是不是合发
  • 一流的南昌网站建设wordpress模板手机
  • 建设一个网站需要什么技术指标qq音乐插件 wordpress
  • 网站开发与管理心得体会山西住房建设厅官方网站
  • 北京低价网站建设怎么样用ps做网站
  • 网站建设的案例沈阳建设网站服务公司
  • 网站建设教程网北京网站设计公司哪儿济南兴田德润简介
  • 网站开发怎么对接客户app开发公司介绍
  • 合肥平台网站建设网站建设简介电话
  • 外贸网站 源怎么查网站是用什么语言做的
  • 网站下载工具天津网站建设论坛
  • 建筑工程网站监理答案广告设计好学吗难不难
  • 深圳极速网站建设费用百度全静态生成技术
  • 保险网站有哪些平台公司网站开发的核心技术
  • 萧山做网站公司山东网站建设运行工资
  • 上海网站开发定制泉州网站优化
  • 旅游建设投资公司中网站福州搜索排名提升
  • wordpress头像网站建设银行信用卡官方网站
  • 怎么给网站做访问量安贞街道网站建设
  • 做网站需要学数据库吗哪个网站可以做创意短视频
  • 如何鉴别网站有没有做301重定向网站模块图
  • 做投票网站教程网站开发流程说明
  • 网站设计与建设系统会计信息系统网站建设流程图
  • 兰州网站建设加王道下拉网站迁移后 后台进不去