Android 通过应用设置系统日期和时间的方法
来源:互联网 发布:mmd镜头数据合集下载 编辑:程序博客网 时间:2024/04/29 14:48
Android 通过应用设置系统日期和时间的方法
android 2.3
android 4.0
测试可行,不过需要ROOT权限.
import java.io.DataOutputStream;import java.io.File;import java.io.IOException;import java.util.Calendar;import android.os.SystemClock;public class SystemDateTime {static final String TAG = "SystemDateTime"; public static void setDateTime(int year, int month, int day, int hour, int minute) throws IOException, InterruptedException {requestPermission(); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month-1); c.set(Calendar.DAY_OF_MONTH, day); c.set(Calendar.HOUR_OF_DAY, hour); c.set(Calendar.MINUTE, minute); long when = c.getTimeInMillis(); if (when / 1000 < Integer.MAX_VALUE) { SystemClock.setCurrentTimeMillis(when); } long now = Calendar.getInstance().getTimeInMillis(); //Log.d(TAG, "set tm="+when + ", now tm="+now); if(now - when > 1000) throw new IOException("failed to set Date."); }public static void setDate(int year, int month, int day) throws IOException, InterruptedException {requestPermission(); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month); c.set(Calendar.DAY_OF_MONTH, day); long when = c.getTimeInMillis(); if (when / 1000 < Integer.MAX_VALUE) { SystemClock.setCurrentTimeMillis(when); } long now = Calendar.getInstance().getTimeInMillis(); //Log.d(TAG, "set tm="+when + ", now tm="+now); if(now - when > 1000) throw new IOException("failed to set Date.");}public static void setTime(int hour, int minute) throws IOException, InterruptedException {requestPermission(); Calendar c = Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY, hour); c.set(Calendar.MINUTE, minute); long when = c.getTimeInMillis();if (when / 1000 < Integer.MAX_VALUE) {SystemClock.setCurrentTimeMillis(when);}long now = Calendar.getInstance().getTimeInMillis(); //Log.d(TAG, "set tm="+when + ", now tm="+now); if(now - when > 1000) throw new IOException("failed to set Time.");}static void requestPermission() throws InterruptedException, IOException {createSuProcess("chmod 666 /dev/alarm").waitFor();}static Process createSuProcess() throws IOException {File rootUser = new File("/system/xbin/ru");if(rootUser.exists()) {return Runtime.getRuntime().exec(rootUser.getAbsolutePath());} else {return Runtime.getRuntime().exec("su");}}static Process createSuProcess(String cmd) throws IOException {DataOutputStream os = null;Process process = createSuProcess();try {os = new DataOutputStream(process.getOutputStream());os.writeBytes(cmd + "\n");os.writeBytes("exit $?\n");} finally {if(os != null) {try {os.close();} catch (IOException e) {}}}return process;}}
6 1
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android通过应用来设置系统时间
- android日期和时间的设置
- 设置系统的时间/日期
- Android实践 -- 设置系统日期时间和时区
- Android实践 -- 设置系统日期时间和时区
- 用date命令给CentOS Linux设置修改系统日期和时间的方法
- 通过C++的类设置系统时间和输出时间
- Android应用程序设置系统时间的方法
- linux系统下查看和设置日期时间的命令
- [原创]qtp设置系统时间和日期的方…
- Linux下设置系统日期和时间
- zenity 脚本设置系统日期和时间
- Linux 设置系统时间和日期 API
- 设置系统日期时间和时区
- JAVA垃圾回收机制分析
- sybase创建用户数据库的脚本
- PHP异步高并发扩展Swoole 1.6.10
- 电磁波、无线电、射频
- 基于Cocos2dx开发卡牌游戏_放开那三国
- Android 通过应用设置系统日期和时间的方法
- VMWare 10.0.2虚拟机启动时提示“内部错误”的解决办法
- JDBC 插入数据返回数据主键
- run hadoop wordcount demo
- 最流行的php框架盘点
- GCC详解
- 想挖出 Big Data 的秘密, 这 10 个程序语言你不能不懂
- Python程序的执行过程
- 【新】opencv肤色检测源码