gpt4 book ai didi

android - 可以从我的 Android 应用程序设置系统日期时间吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:58 25 4
gpt4 key购买 nike

我想通过 SystemClock.setCurrentTimeMillis 设置系统时钟,但是遇到了以下错误:

"Unable to open alarm driver: Permission denied"

以下是来自 Android 开发者网站的 setCurrentMillis API 的说明:

public static boolean setCurrentTimeMillis (long millis) 

开始于:API 级别 1 设置当前挂钟时间,以毫秒为单位。要求调用进程具有适当的权限。

返回如果时钟已成功设置为指定时间。

因此,应用程序需要获得设置时间的权限。在 AndroidManisfest.xml 中,我插入了 android.permission.SET_TIME 但我有相同的消息错误。

我尝试了在互联网上找到的各种解决方案,似乎即使在引入了 android.permission.SET_TIME 的 FroYo (Android 2.2) 上,也无法在没有 root 的情况下设置系统时间,正常应用无法获得此权限,因为 /dev/alarm 文件具有 664 权限。因此解决方案是更改 666 中的权限,但需要 root 设备并且侵入性太强,无法成为解决方案。

我想为我的公司创建一个应用程序来同步不同系统之间的数据,这对于同步时钟是必不可少的。

预先感谢您的意愿

eclipse

最佳答案

eclipse ,

我为此做了相当多的检查,并找到了 Google 的公开票证来解决问题。唯一的问题是标签自2009年11月8日起开放。基本上只有系统才能更改时间,即使有权限。根据下面链接的评论,一位开发人员做了一些研究并注意到当创建权限 SET_TIME 时,它在操作系统中没有被赋予适当的保护级别(signatureorSystem v.s dangerous)。结果它没有做它应该做的事情。

http://code.google.com/p/android/issues/detail?id=4581

这里解释了权限可以具有的各种保护级别。目前,根据开发人员的说法,上面的 SET_TIME 有“signatureorSystem”,而它应该有“dangerous”。

http://developer.android.com/guide/topics/manifest/permission-element.html#plevel

简而言之,目前没有办法在不对手机进行 root 的情况下以编程方式更改时间。

最后要注意的是,如果您想使用自定义 rom,Cyanogenmod 也有一张公开票,可以为他们的 rom 添加功能。

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=CyanogenMod+SET_TIME

希望这对一些人有所帮助,乔治

关于android - 可以从我的 Android 应用程序设置系统日期时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com