一纸风情 2023-04-25 10:31 采纳率: 0%
浏览 15

Android11手动设置时间,重启后没有保存,怎么改代码

Android11,全志H713平台,手动设置时间,重启后没有保存,怎么修改代码

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-25 12:09
    关注
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/1101898
    • 你也可以参考下这篇文章:Android11无操作后自动播放视频,有操作结束视频
    • 你还可以看下android参考手册中的 android Native 表示一个定义常量值的字段可以从本地代码中引用 从本地代码中引用。
    • 除此之外, 这篇博客: Android辅助权限实战之微信自动评论与点赞中的 二、自动化逻辑代码实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 说明:我们通过 Monitor 工具,取到的节点 id ,在微信的每个版本是不一样的 (微信动态生成节点 id,我是通过服务器后台对不同的微信版本,维护一份 id 配置,根据请求的微信版本,返回对应得 id 值),所以本文以微信 v6.7.2 的版本作为例子,如下代码可作参考。

      这里只是提供了微信自动点赞与自动评论的示例,当然本人也写了类似于微信自动加好友,自动加附近的人,检测死粉的功能,钉钉自动打卡… 这里只是抛转引玉,大家根据我提供的思路,去实现,由于源码涉及服务器相关操作,不太方便开源,有问题可以加我QQ:1029226002,

      {
          "tasks": [
              {
                  "nodes": [
                      {
                          "action": "scrllor", 
                          "className": "android.widget.ListView", 
                          "id": "com.tencent.mm:id/cno", 
                          "key": "nearHumanList", 
                          "text": "@附近的人列表"
                      }, 
                      {
                          "className": "android.widget.TextView", 
                          "id": "com.tencent.mm:id/b3i", 
                          "key": "nearHumanListName", 
                          "text": "@附近的人列表名字"
                      }, 
                      {
                          "className": "android.widget.TextView", 
                          "id": "com.tencent.mm:id/sm", 
                          "key": "detailName", 
                          "text": "@附近的人详情名字"
                      }, 
                      {
                          "className": "android.widget.ListView", 
                          "id": "com.tencent.mm:id/bcs", 
                          "key": "phoneHumanList", 
                          "text": "@手机联系人列表"
                      }, 
                      {
                          "className": "android.widget.TextView", 
                          "id": "com.tencent.mm:id/bgl", 
                          "key": "phoneHumanListName", 
                          "text": "@手机联系人列表名字"
                      }, 
                      {
                          "className": "android.widget.TextView", 
                          "id": "com.tencent.mm:id/bgm", 
                          "key": "phoneHumanListAccount", 
                          "text": "@手机联系人列表昵称"
                      }, 
                      {
                          "className": "android.widget.TextView", 
                          "id": "com.tencent.mm:id/sm", 
                          "key": "phoneHumandetailName", 
                          "text": "@手机联系人详情名字"
                      }, 
                      {
                          "className": "android.widget.ListView",
                          "id": "com.tencent.mm:id/doq",
                          "key": "momentList",
                          "text": "@朋友圈列表"
                      }
                  ],
                  "pages": [ ],
                  "taskName": "微信脚本",
                  "version": "6.7.2"
              }
          ]
      }
      
    • 您还可以看一下 CSDN讲师老师的【Android峰会】如何高效高质进行Android技术开发课程中的 【第二场】Android视频硬解稳定性问题探讨和处理(上)小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      针对 Android11 操作系统下的全志 H713 平台,需要进行以下操作才能通过代码手动设置时间后重启后成功保存时间设置:

      1. 获取系统时间

      使用如下代码获取系统时间:

      Calendar calendar = Calendar.getInstance();
      Date date = new Date();
      
      1. 设置系统时间

      使用如下代码设置系统时间:

      calendar.setTime(date);
      long timeInMillis = calendar.getTimeInMillis();
      SystemClock.setCurrentTimeMillis(timeInMillis);
      

      需要注意,设置系统时间需要有对应的权限:

      <uses-permission android:name="android.permission.SET_TIME" />
      <uses-permission android:name="android.permission.SET_TIME_ZONE" />
      
      1. 重启设备

      使用如下代码重启设备:

      PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
      pm.reboot(null);
      

      需要注意,重启设备需要有对应的权限:

      <uses-permission android:name="android.permission.REBOOT" />
      
      1. 保存时间设置

      由于 Android 11 强制分区存储,外部资源无法访问,因此需要使用内部存储来保存时间设置。可以使用 SharedPreferences 来保存时间设置,代码如下:

      SharedPreferences sharedPreferences = getSharedPreferences("time", MODE_PRIVATE);
      SharedPreferences.Editor editor = sharedPreferences.edit();
      editor.putLong("time", timeInMillis);
      editor.apply();
      
      1. 读取时间设置

      使用如下代码从 SharedPreferences 中读取时间设置:

      SharedPreferences sharedPreferences = getSharedPreferences("time", MODE_PRIVATE);
      long timeInMillis = sharedPreferences.getLong("time", System.currentTimeMillis());
      

      如果没有保存过时间设置,则使用系统当前时间作为默认值。

      需要注意,对于 Android 11,还需要在 AndroidManifest.xml 中添加以下代码以请求 MANAGE_EXTERNAL_STORAGE 权限:

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

      如果需要在应用中使用文件操作,还需要通过以下方法获取外部存储权限:

      private fun requestExternalStoragePermission() {
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
              if (Environment.isExternalStorageManager()) {
                  //已经获取了权限
              } else {
                  val intent = Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
                  startActivityForResult(intent, REQUEST_CODE_PERMISSION_MANAGE_EXTERNAL_STORAGE)
              }
          } else {
              if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
                  //已经获取了权限
              } else {
                  ActivityCompat.requestPermissions(
                      this,
                      arrayOf(
                          Manifest.permission.WRITE_EXTERNAL_STORAGE,
                          Manifest.permission.READ_EXTERNAL_STORAGE
                      ),
                      REQUEST_CODE_PERMISSION_EXTERNAL_STORAGE
                  )
              }
          }
      }
      
    评论

报告相同问题?

问题事件

  • 创建了问题 4月25日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改