首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从我的安卓应用程序中设置系统DateTime吗?

可以从我的安卓应用程序中设置系统DateTime吗?
EN

Stack Overflow用户
提问于 2011-07-05 14:59:40
回答 3查看 22.6K关注 0票数 13

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

代码语言:javascript
复制
"Unable to open alarm driver: Permission denied"

下面是安卓开发者网站对setCurrentMillis API的描述:

代码语言:javascript
复制
public static boolean setCurrentTimeMillis (long millis) 

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

如果时钟成功地设置为指定的时间,则返回。

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

我尝试过在互联网上找到的各种解决方案,而且似乎不可能设置没有根的系统时间,即使在FroYo (Android2.2)上引入了android.permission.SET_TIME,正常的应用程序无法获得这个权限,因为/dev/文件中有664 permission。因此,解决方案是改变666中的权限,但需要有根的设备,而且太过入侵,不可能成为解决方案。

我想为我的公司创建一个应用程序来同步不同系统之间的数据,并且是同步时钟的关键。

预先感谢你的意愿

日食

EN

回答 3

Stack Overflow用户

发布于 2011-07-18 13:50:06

日食,

我在这个问题上为你做了相当多的检查,并找到了一张与谷歌的公开罚单来解决这个问题。唯一的事情是这个标签自2009年11月8日起就已经打开了。基本上只有系统才能改变时间,即使有许可。根据对下面链接的评论,一位开发人员做了一些研究,并指出当权限SET_TIME被创建时,在操作系统中没有给它适当的保护级别(signatureorSystem v.s .危险)。因此,它没有做它应该做的事情。

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

以下是权限可以具有的各种保护级别的解释。目前,根据开发人员的上述引文,SET_TIME有"signatureorSystem“时,它应该有”危险“。

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

总之,目前没有办法改变时间的程序,而不生根的电话。

最后一个注意事项是,如果您想要与自定义的rom,也有一个开放的门票,为Cyanogenmod添加的能力,以及他们的rom。

时间

希望这能帮上忙,乔治

票数 12
EN

Stack Overflow用户

发布于 2011-07-05 15:30:46

根据这个职位的说法,SET_TIME是正确的权限,但它只能在有根的手机上工作。

票数 3
EN

Stack Overflow用户

发布于 2012-07-29 11:26:23

我们已经做到了。只要你能得到SET_TIME发射,就没什么大不了的了。看看我的对类似问题的回答

至于其他的答案,说不可能没有生根电话,那么,这只是指获得许可。有关这一点,请参见这里这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6584772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档