【问题标题】:Android: How can I get the set_time permission?Android:如何获得 set_time 权限?
【发布时间】:2013-07-19 12:10:07
【问题描述】:

背景:我正在开发一个用于商业用途的应用程序,它将与专用设备一起出售。换句话说,客户将从我们这里购买一个带有自定义 rom 的 android 表,该 rom 将设备的使用限制为我们的软件。

问题: android设备中的时钟同步到服务器的操作至关重要,这意味着应用程序需要能够更新时间。

到目前为止,我发现的信息似乎很粗略,但这是我发现的:

  • 我需要 SET_TIME 权限
    • 为此,我需要将其安装为系统应用程序(我通过将 apk 放置在 system/app 文件夹中来完成此操作)...
    • ...我需要使用构建系统映像的相同密钥对我的应用程序进行签名
    • 我需要将 android:sharedUserId="android.uid.system" 添加到清单中

我在正确的轨道上吗?

【问题讨论】:

  • 如果这是自定义 ROM,修改自定义 ROM 中的 SNTP 逻辑以引用所需的 SNTP 服务器似乎更简单,而不是尝试在应用程序级别执行此操作。
  • @CommonsWare - 这听起来是一个合理的想法,我们还没有开始研究 ROM,所以我不确定在那个级别上什么是可能的,什么是不可能的。我们的设备经历了可怕的时间漂移​​,所以我认为它们根本没有引用 SNTP。

标签: android root


【解决方案1】:

好吧,我阅读了更多内容,但即使在构建我自己的 ROM 时,我仍然不确定是否可以使用 NTP 服务器。大多数安卓设备会使用 NITZ 从移动网络获取日期,但我的目标设备只有 WIFI。

我在这里找到了答案 Setting system time of ROOTED phone - 特别是 @CrazyCoder 的答案,揭示了他的 ClockSync 应用程序的工作原理。

此解决方案要求设备获得 root 权限,但不需要是系统应用程序或任何与之相关的权限。

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2021-06-19
    • 2021-01-22
    • 2013-05-10
    • 2019-09-19
    • 1970-01-01
    相关资源
    最近更新 更多