Android中如何修改系统时间

来源:互联网 发布:金桥软件公园 编辑:程序博客网 时间:2024/06/05 19:54

花费两天时间在修改系统时间上面的确不应该,但又让我多学了一种方法;
第一种方法是用命令修改Android系统时间;
第二种方法是重新编译apk进行修改Android系统时间;

两个比较,肯定第一种既方便又节省时间;刚开始我使用的是第一种方法做的,
由于对命令不熟,导致设置时间失败;
最后没有办法尝试第二种方法,虽然第二种方法在自己的小Demo中能够成功,
可是加入项目中问题重重;用很多解决办法都没有完成;
之后又来重新用第一种方法试试;哎,都是在尝试中总结经验;
首先找到Android sdk路径,
在cmd命令里面进入D:\android\android-sdk-windows\android-sdk-windows\platform-tools;
然后进行adb shell;
获取root权限 su root
修改系统时间: date -s “20130603.184023”
这样就可以看到你手机上面的时间已经改变;
代码是这样修改的:
@SuppressLint("SimpleDateFormat")
 public void timeSynchronization(Date ServiceTime){
  SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd.HHmmss");
  String datetime=sdf.format(ServiceTime); 
  Log.e(TAG, datetime+"Molly*******");

  ArrayList<String> envlist = new ArrayList<String>();
  Map<String, String> env = System.getenv();
  for (String envName : env.keySet()) {
   envlist.add(envName + "=" + env.get(envName));
  }
  String[] envp = (String[]) envlist.toArray(new String[0]);
  String command;
  command = "date -s\""+datetime+"\"";
  try {
   Runtime.getRuntime().exec(new String[] { "su", "-c", command },
     envp);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

第二种方法网上都有,所以大家可以参照这篇文档就可以了;
http://www.eoeandroid.com/thread-108663-1-1.html

原创粉丝点击