android修改系统时间源码(安卓系统怎么修改时间)
本文目录一览:
- 1、怎样修改Android 修改显示日期格式的默认值啊?
- 2、android开发过程中怎样通过代码设置系统时间,求详细解答。从第一步到实现????
- 3、Android代码中修改系统时间
- 4、安卓开发,不ROOT能修改系统时间么?如果能的话怎么修改?求代码
- 5、安卓手机怎么修改系统时间
- 6、android怎么修改系统源码
怎样修改Android 修改显示日期格式的默认值啊?
1、首先找到手机“设置”或者“设定”的选项并进入;
2、然后找到“系统”选项里面的“日期和时间”选项并进入(有的手机可能不用找“系统”这一项);
3、最后找到“选择日期格式”这一项,进入,按照国际通用的集中格式自己选择就好了。
android开发过程中怎样通过代码设置系统时间,求详细解答。从第一步到实现????
下面的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 ; }
}
不保证能用哦。
Android代码中修改系统时间
android下修改时间的代码:
public void testDate(){
try {
Process process = Runtime.getRuntime().exec("su");
String datetime="20131023.112800"; //测试的设置的时间【时间格式 yyyyMMdd.HHmmss】
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("setprop persist.sys.timezone GMT\n");
os.writeBytes("/system/bin/date -s "+datetime+"\n");
os.writeBytes("clock -w\n");
os.writeBytes("exit\n");
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
安卓开发,不ROOT能修改系统时间么?如果能的话怎么修改?求代码
是修改系统时间的位置和颜色?做包的话可以不root,如果是现有的系统去改,必须root,否则放不进去
对了,不root,但是有第三方recovery,也可以做成单刷包
至于改的话,代码在systemUi.apk里的layout文件夹里的一个xml里,需要反编译,不同的版本,改的地方不一样,不过也很简单,就几句话就OK了
安卓手机怎么修改系统时间
命令行
首先我想到的是手机root,然后命令行
date -s 要设置的时间1
关于如何调用命令行,请点击:安卓程序中调用 linux 命令
如果手机没 root 怎么破呢,继续往下看吧。
获取系统权限修改
没有 root 的话,可以获取系统权限来设置,怎么设置呢,这个文章已经给出:
如何使Android应用程序获取系统权限来修改系统时间
就是系统签名了。
这里说明一点,由于在manifest文件加入android:sharedUserId=”android.uid.system”这个属性,导致 Android Studio 等工具,直接编译运行会出现此提示窗:
多次点击 ok 无效,因为设置了系统属性,所以,下次你运行别的项目,出现此情况时,可以检查下时候添加了该属性的,有的话,去掉,再编译运行就可以的。
获取了权限了,一行代码就可以设置时间:
SystemClock.setCurrentTimeMillis(millTime);
android怎么修改系统源码
在Android界面的系统status bar上添加home,back,menu三个菜单,并完成对应的系统功能。并有higlight效果,修改status bar 高度和status bar上的文字尺寸。
这需要修改android sdk才能完成,我用的是eclair.下面就我的操作进行叙述。
1.首先完成界面显示效果。
需要修改文件
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定义的icon,图片名称指定就好了。另外还要记得修改./frameworks/base/core/res/res/values/arrays.xml,这里定义了icon的slot,并且决定了icon的摆放顺序。
这样,你需要的icon按键就可以显示在系统的status bar上面了。
2.判断touch event是否按动了某个icon
需要修改的文件
./frameworks/base/services/java/com/android/server/status/StatusBarView.java
首先在onTouchEvent函数中,获取当前event的坐标,然后比较是否在某个按键范围之内。由于系统对于statusBar的范围已经有了定义,所以这里只需要比较横坐标就可以了。
其次,也是这一步最关键的,怎么获取具体某一个icon的左右边界坐标呢?系统的status bar左边显示的图标都是notification, 右边显示的是系统icon. 也就是说左边icon属于mNotificationIcons,右边的icon属于mStatusIcons. 在文件StatusBarView.java中出现的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左边的icon的left横坐标。用N = mStatusIcons.getChildCount()得到共有几个系统icon,其中包含visibility为false的icons.用mStatusIcons.getChildAt(N-i)得到的是从右边数第i个的icon view. 这个view的getLeft()+offset就是这第i个icon的左边横坐标,对应的getRight()+offset就是这第i个icon的右边横坐标。本例中home键是右边第2个icon.
3.定义icon响应事件
这里使用的方法是在StatusBarView.java中向
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java发送一个Broadcast,让StatusBarPolicy来完成具体的事件操作。这里需要注意的是不仅要在./frameworks/base/core/java/android/content/Intent.java中定义intent,还要在StatusBarPolicy的构造函数中添加该intent的过滤动作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按动了back键,如果当前事件为action_up,就向系统发送一个keyEvent,keyCode为KeyEvent.KEYCODE_BACK. 这里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函数,直接拷贝过来,按照需要稍微修改一下形参就可以了,过程不要修改。
需要说明的是,当点击statusBar可以拉出来一个notification列表,当这个列表显示出来的时候,这三个back, menu, home键的响应速度会非常慢,所以这时不响应事件并隐藏这三个键。具体做法是在StatusBarView的onTouchEvent()中判断mService.mExpanded或者 mService.mTracking为真时就不做响应。mService是StatusBarService对象。隐藏三个键也是用Broadcast来做的,但这个intent是由StatusBarServie发出来的,当mExpandedVisible = false时显示,当mExpandedVisible = true时隐藏。
这里还同时完成了highlight换图的动作,也是用Broadcast来做得,处理过程一样,就是需要区分action_down和action_up就可以了。
4.调整status bar的高度
如果你需要显示较大的屏幕尺寸,同时statusBar的高度要拉大,上面的icon的size也需要调大。为了协调一致,显示时间的字体和notification显示的日期的字体也需要调大。具体做法如下:
a.调节status bar icon的size: 只调节status_bar.xml的textSize标签似乎不起作用,同时又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);语句才成功。不知道修改status_bar.xml的com.android.server.status.AnimatedImageView标签下的layout_height值是不是必须的,反正我是一起都给改了。
b.调节status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道还需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也给改了。
c.调节notification显示日期字体的大小,修改status_bar.xml的com.android.server.status.DateView的textSize值。
到这里,就完成了,看看效果吧。