主题 : Android 如何通过代码设置系统时间 复制链接 | 浏览器收藏 | 打印
小小鸟
级别: 侠客
UID: 76531
精华: 0
发帖: 57
金钱: 290 两
威望: 58 点
综合积分: 114 分
注册时间: 2012-08-25
最后登录: 2012-10-24
楼主  发表于: 2012-08-26 22:06

 Android 如何通过代码设置系统时间

我在网上查了一下,好像不容易。请问高手是怎么解决的这个问题?谢谢
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-08-27 10:02
把命令转为代码就可以了,一般使用system系统调用
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
小小鸟
级别: 侠客
UID: 76531
精华: 0
发帖: 57
金钱: 290 两
威望: 58 点
综合积分: 114 分
注册时间: 2012-08-25
最后登录: 2012-10-24
2楼  发表于: 2012-08-27 20:30
谢谢版主
小小鸟
级别: 侠客
UID: 76531
精华: 0
发帖: 57
金钱: 290 两
威望: 58 点
综合积分: 114 分
注册时间: 2012-08-25
最后登录: 2012-10-24
3楼  发表于: 2012-09-04 21:25
请问:system系统调用 怎么用?能否进一步说明一下? 谢谢
级别: 骑士
UID: 29604
精华: 9
发帖: 171
金钱: 1830 两
威望: 366 点
综合积分: 522 分
注册时间: 2010-10-01
最后登录: 2016-04-13
4楼  发表于: 2012-09-05 10:41
下面的android代码只是随手写的,没有验证过能不能用,仅供参考。
大体的思路就是执行这样一个命令/system/bin/date -s "2012-06-03 13:12:00"
因为不同的系统date文件可能不一定有或者不一定存放在这个位置,得自己找到正确的位置自己调整。
另外date命令的格式也不尽相同,印象中android下好像是这样的吧,可以在调试串口的命令终端中先试验是否正确。
try
{
  Process dateexe;
  dateexe= Runtime.getRuntime().exec("/system/bin/date");
  String cmd = " -s \"2012-06-03 13:12:00\" ";
  dateexe.getOutputStream().write(cmd.getBytes());
  if ((dateexe.waitFor() != 0) {
    throw ;  }
}
不保证能用哦,如果你最后试成功了,不妨把最终的结果也贴上来看看。
小小鸟
级别: 侠客
UID: 76531
精华: 0
发帖: 57
金钱: 290 两
威望: 58 点
综合积分: 114 分
注册时间: 2012-08-25
最后登录: 2012-10-24
5楼  发表于: 2012-09-05 20:28
非常感谢 benjaminwan

我先试试看
小小鸟
级别: 侠客
UID: 76531
精华: 0
发帖: 57
金钱: 290 两
威望: 58 点
综合积分: 114 分
注册时间: 2012-08-25
最后登录: 2012-10-24
6楼  发表于: 2012-09-05 22:00
benjaminwan 你好,我用您提供的方法测试了一下,不成功。

我换了一种方法成功了:

写了一个服务,通过调用这个服务来设置时间。而这个服务给他一个root权限。

关于root权限的获取是根据网上查到的方法搞定的。

谢谢
级别: 骑士
UID: 29604
精华: 9
发帖: 171
金钱: 1830 两
威望: 366 点
综合积分: 522 分
注册时间: 2010-10-01
最后登录: 2016-04-13
7楼  发表于: 2012-09-06 11:06
这倒是个新方法。。。。。。