自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Android monkeyrunner录制 && python脚本&& adb shell input 实现自动化测试

一、 monkeyrunner自动化测试(录制与回放):准备工作: monkeyrunner.bat文件所在位置:E:\sdk\sdk\tools\bin 即在SDK的tools\bin目录下面,将此路径写在环境变量path里面 整个录制和回放过程涉及到3个步骤, 对应3个文件 monkey_recorder.py、 test.mr、 monkey_playback.py,

2017-10-27 15:26:21 849

转载 Android 7.1 App Shortcuts使用

Android 7.1 App Shortcuts使用Android 7.1已经发了预览版, 这里是API Overview: API overview.其中App Shortcuts是新提供的一种快捷访问方式, 形式为长按应用图标出现的长条.图来自: Exploring Android Nougat 7.1 App Shortcuts点击快捷方式可以访

2017-09-25 10:54:48 325

转载 Android Framework层重启流程

转载自http://gityuan.com/2016/07/09/android-reboot/

2017-09-07 11:27:24 1172

原创 Android framework 使用自定的activity取代默认的Launcher界面

使用自定的activity取代默认的Launcher界面

2017-08-31 16:54:15 487

转载 Android framework 短信发送流程

短信发送Framework流程,源代码的版本是4.41、通过Mms源代码可以知道短信发送最后调用的关键api如下:SmsSingleRecipientSender.Java[java] view plaincopySmsManager smsManager = SmsManager.getDefault();  [ja

2017-07-17 16:43:58 472

转载 Android framework 应用安装流程 分析 PackageManagerService(Android5.1)

一、安装的Activity在Android,通过发送Intent可以启动应用的安装过程,如下所示:[java] view plain copyUri uri = Uri.fromFile(new File(filename));  Intent inent = new Intent(Intent.ACTION_VIEW);  inte

2017-07-14 14:41:49 1041

原创 关于heapsize & heapgrowthlimit

Android设备出厂以后,java虚拟机对单个应用的最大内存分配就确定下来了,超出这个值就会OOM。这个属性值是定义在/system/build.prop文件中的dalvik.vm.heapstartsize=8m它表示堆分配的初始大小,它会影响到整个系统对RAM的使用程度,和第一次使用应用时的流畅程度。它值越小,系统ram消耗越慢,但一些较大应用一开始不够用,需要调用gc和堆调整策

2017-07-11 11:58:21 4743

转载 Binder.clearCallingIdentity && Binder.restoreCallingIdentity作用

http://blog.csdn.net/windskier/article/details/6921672IPCThreadState对象维护了2个变量            pid_t               mCallingPid;            uid_t               mCallingUid;    从变量名称来看,这

2017-07-07 14:16:16 1380

原创 Caused by: java.security.cert.CertPathValidatorException: timestamp check failed

客户端在连接Server端https的时候出现了 以下错误,12-27 17:52:45.976: W/System.err(10361): Caused by: java.security.cert.CertPathValidatorException: timestamp check failed12-27 17:52:45.976: W/System.err(10361): at s

2017-05-23 20:12:49 6628

转载 Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一

是不是有时候发觉有时候Android的broadcastReciver重写正确,IntentFilter定义正确,添加Action正确,。。可能正确,注册IntentFileter也是正确,正确,正确,都是正确,但依然收不到想要收到的broadcastReciver,或许你只是忘记addDataScheme这一点点,试一试,说不定你就能收到迟来的broadcast。至于为什么要添加这个,请

2016-09-22 10:19:37 4588 2

转载 ADB 命令 发送广播

adb shell am broadcast 后面的参数有:[-a ][-d ][-t ] [-c [-c ] ...] [-e|--es ...] [--ez ...] [-e|--ei ...] [-n ][-f ] []例如:adb shell am broadcast -a com.android.tes

2016-09-01 15:56:23 1209

原创 Android 开关机动画 BootAnimation/ShutdownAnimation 解析

引言 (该部分转载):     开机动画的地址:system\media\bootanimation.zip,要修改开机动画就是修改bootanimation这个文件。如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom,开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。官方最原始的开机动画在sys

2016-08-25 10:58:22 3910

转载 Phone 通话过程中 PSensor 工作流程

概要       在Android手机通话过程中,用户将手机靠近/远离头部,会导致手机屏幕灭/亮,这实际上是Proximity Sensor在起作用(参考1)。通俗的来讲Proximity Sensor就是近距离传感器,后文简写为PSensor,近距离传感器可用于测量物体靠近或远离。根据PSensor的这一特征,在计数以及自动化控制等领域都有使用近距离传感器(参考2,参考3)。目前,市

2016-07-14 10:49:56 4585

原创 Xshell 连接 Ubuntu虚拟机

1.  虚拟机安装SSH服务,sudo apt-get install openssh-server   2.  ps -e | grep sshd    450 ?        00:00:00 sshd    如果看到sshd那说明ssh-server已经启动了。 否则执行/etc/init.d/ssh start  启动SSH3.  虚拟机新建一个网卡,选择Host-Onl

2016-05-10 14:18:11 519

转载 WebView的使用

android的WebView组件可以说是相当的强大,现将项目中经常用到的几个功能总结如下:一、背景设置[java] view plain copy print?WebView.setBackgroundColor(0);//先设置背景色为transparent  WebView.setBackgroundResource(R.d

2016-03-29 21:27:24 407

原创 Android 实时获取手机充电状态

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);Intent batteryStatus = mContext.registerReceiver(null, ifilter);if(batteryStatus != null){      int status = batteryStatus.

2016-03-09 14:07:21 775

原创 高斯模糊

RenderScript是Android在API 11之后加入的,用于高效的图片处理,包括模糊、混合、矩阵卷积计算等,代码示例如下public Bitmap blurBitmap(Bitmap bitmap){                    //Let's create an empty bitmap with the same size of the bitmap w

2015-10-21 19:45:32 708

转载 ImageLoader

转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢!大家好!差不多两个来月没有写文章了,前段时间也是在忙换工作的事,准备笔试面试什么的事情,现在新工作找好了,新工作自己也比较满意,唯一遗憾的就是自己要去一个新的城市,新的环境新的开始,希望自己能尽快的

2015-10-08 21:58:45 590

原创 设置SurfaceView 背景颜色

在SurfaceView 的构造方法中添加:this.setZOrderOnTop(true);this.getHolder().setFormat(PixelFormat.TRANSLUCENT);否则 surfaceView 默认为黑色背景

2015-08-21 17:41:08 8773 4

原创 Android 锁屏 相关

KeyguardManager mKeyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); if (mKeyguardManager.inKeyguardRestrictedInputMode()) {// keyguard on}      判断当前界面是否为锁屏页面

2015-08-17 09:36:47 489

转载 Android 设置状态栏 显示 或 隐藏 SystemUI flag

小米Launcher有一个细节上的功能效果:在长按桌面应用图标时,会隐藏状态栏,然后在状态栏原有的布局上显示卸载或删除的操作栏。放手后,操作栏隐藏,状态栏显示出来。也就是说,这个过程是涉及到对状态栏的动态操作的。    View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见

2015-08-15 14:00:45 4764

原创 Android 自动化测试脚本编写

一.新建一个py后缀的文件,如***.py二.导入monkeyrunner常用包from com.android.monkeyrunner importMonkeyRunner,MonkeyDevice,MonkeyImage三.等待设备连接device=MonkeyRunner.waitForConnection()四.monkeyrunner常用操作1.      事件

2015-07-27 16:49:06 4201

原创 Android 5.0中反射不到 类中的方法的问题

Android5.0 上,在使用反射(一个应用A需要调用另外一个应用B的方法)时,发现B中的一些方法反射不到,而另外一些就可以。代码检查无误。     最后发现反射不到的方法 都是一些没有被调用过的方法。编译时,系统默认将没有被使用的方法 不打包。最终导致反射不到。     onResume方法和onKeyguardTouched方法反射不到,就绕过编译器,强制调用下。实际上这两个方法并不

2015-07-27 10:25:38 2535

原创 Android screenOrientation 屏幕方向的设定与控制

AndroidManifest.xml中Activity标签中的设定值:android:screenOrientation="landscape"为90度(横屏)android:screenOrientation="reverseLandscape"为270度(反向横屏)android:screenOrientation="sensorLandscape"为90度和270度

2015-02-12 17:48:00 14363

原创 自定义View 中一些方法的调用时机

onFinishInflate()函数的调用时机:onFinishInflate() 当View中所有的子控件均被映射成xml后触发onMeasure(int, int) 确定所有子元素的大小onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发

2015-01-20 17:27:55 1300

原创 Android WakeLock的使用

// PowerManager的一般用法,请求和释放唤醒锁   PowerManager powerMgr = (PowerManager)  getSystemService(Context.POWER_SERVICE);   int flags = PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WA

2014-12-18 20:12:58 1028

原创 设置android:supportsRtl="true"无效问题

今天解bug时,遇到这样一个问题:  问题描述:切换系统语言为阿拉伯文时,actionbar布局没有变为从右向左排列。  于是,我在Androidmanifest.xml文件中的 application 标签内加上 android:supportsRtl="true"属性,发现没有起到效果。   原因在于  Androidmanifest.xml中对最小SDK版本和目标版本做了要求

2014-12-16 17:22:51 14434 4

原创 Android中获取与设置媒体,通话等音量的方法

获取系统音量通过程序获取android系统手机的铃声和音量。同样,设置铃声和音量的方法也很简单!设置音量的方法也很简单,AudioManager提供了方法:public voidsetStreamVolume(intstreamType,intindex,intflags)其中streamType有内置的常量,去文档里面就可以看到。JAVA代码:AudioManager mAu

2014-11-21 13:34:21 9798

转载 关于Android Camera几点须知

当我按照官网给出的例子完成camera程序后,我发现这么几个问题:1. 从预览界面看到的图像,是实际景象逆时针旋转后的图像;2. 第一个问题解决后,拍出来的照片依然是被逆时针旋转了90度的图像;3. 第二个问题也解决后,我发现拍出来的照片虽然方向对了,但没有铺满全屏,换言之,图像比例与屏幕比例不一致。为解决上面的问题,下面的这几个概念就必须要先搞清楚:Scree

2014-10-31 10:11:30 3469

转载 activity-alias的使用

activity-alias是android里为了重复使用Activity而设计的。当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:[xhtml] view plai

2014-10-30 10:08:21 647

转载 Android 禁用和开启四大组件之setComponentEnabledSetting方法

为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉,就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个rece

2014-10-30 10:02:06 1532

转载 Android 4.2 Keyguard锁屏GlowPadView说明

对于手机OEM/ODM厂商来讲,客制化是必不可少的,国际厂商比如三丧,LG等等,都会对原生Android进行定制。我们买到的手机,系统都是经过定制的,这跟Google Android AOSP有很大的区别,这些区别就是厂商们想搞的差异化。以下内容为GlowPadView客制化的一些笔记,怕以后忘了再去查。       转载请务必注明出处:http://blog.csdn.net/yihongy

2014-10-24 15:11:10 875

转载 android 4.4.2锁屏梳理

刚毕业不久由于项目需要就接触到锁屏,从2.2到4.1都解过bug,也定制过一些功能。4.1之前的锁屏工作不难,但很费时间,因为它的逻辑,视图,资源分别分布在不同的路径下,就像散落在海边沙滩上的珠子,想串起来还是蛮费劲的。最开始时锁屏就是改个字段也要全编译生成img。后来新技能get,会针对修改的地方进行单编译,但每次编译jar,导入手机,重启看效果也是不方便的。一年前把锁屏交出去就没有再看

2014-10-14 11:41:58 1919 3

原创 系统广播android.intent.action.DATE_CHANGED不响应的问题

要实现  在到了某个节日的时候,给手机切换壁纸这样一个功能,如果用户当天手动切换过壁纸,则使用用户切换后的壁纸。    我使用 android.intent.action.DATE_CHANGED监听系统日期的变化广播,发现只有在日期变化到将来的某一天的时候,才会发出此广播,例如,今天是9月17号,手动设置时间为18号,会触发该广播,这个时候,如果把时间再设置为10月17号,也会触

2014-09-19 15:47:42 3877

提示
确定要删除当前文章?
取消 删除