- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 Android获取存储设备挂载路径
Environment.getExternalStorageDirectory()是Android 2.x时代的产物,那时Android主流设备只有很小的内置存储器,然后都会外置一张sd卡,那时这个方法返回的就是外置sd卡的根路径。但随着Android进入4.x时代,大部分Android设备都已经内置一个较大存储卡,甚至不提供外置存储卡插槽了,此时Environment.getExternalSto
2017-02-16 16:00:37
2274
原创 关于ViewGroup的descendantFocusability属性
当我们在一个ListView里面包含多个元素时,有时候我们对里面的每个元素要坐不同的点击事件处理,如下图: 这是android文字转语音输出设置,这里面包含3个元素,一个RadioButton,一个TextView,一个设置src为setting的icon,当我们用遥控或者键盘操作时,默认情况下里面的子元素是无法获取到焦点,因而无法响应相关点击事件。那我们就去查找一下源码,发现在TtsEngi
2016-09-10 15:51:05
572
1
原创 通过反射来读写build.prop参数
通过反射来读写build.prop参数build.prop里面有很多关于手机参数的相关配置信息,其对应的参数读写是在android.os.SystemProperties.java这个类中完成。除非我们的应用有系统签名,不然的话不能直接调用里面的方法。但是通过java的反射我们就可以很容易的去调用。 我们先来看一下SystemProperties.java这个类的两个关键的方法get和set:/*
2016-08-30 11:54:19
764
原创 Android 利用presentation实现双屏异显
我的思路是在主屏中开启activity,然后在副屏中开启服务,通过服务我们就可以让副屏一直显示或者播放节目或者打开其他应用,哪怕是退主屏退出activity。 // 获取显示设备。 public void updateContents() { mDisplayManager = (DisplayManager) getSystemService(
2016-06-28 16:14:54
13485
4
原创 Android其他应用修改系统时间
一般我们自己的应用要修改系统时间的话是需要在Manifest里面指定应用 android:sharedUserId="android.uid.system" ,但是如果自己应用和系统签名不一致的话,这个应用是安装不上的,所以需要修改应用的签名和系统一致。 系统的签名文件一般存放在:build/target/product/security/ 目录下,里面有多个文件,对应
2016-06-15 11:51:28
1338
原创 onSaveInstanceStat和onRestoreInstanceState调用时机
当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。 注意上面的双引号,何为“容易”?言下之意就是该activity还没有被销毁,而仅仅是一种可能性。这种可能性有哪些?通过重写一个activity的所有生命周期的onXXX方法,包括onSaveInstanc
2016-05-26 22:03:02
3422
原创 Java读取文件的最后n位
以读取文件的最后6位为例:public void readLastLine(String fileString) throws IOException { File file = new File(fileString); if (!file.exists() || file.isDirectory() || !file.canRead()) { return;
2016-05-04 17:51:20
1176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人