android 技巧
陈塘关哪吒
高级搬砖攻城狮
展开
-
Android反射调用goToSleep实现一键锁屏、亮屏
/*** 关闭屏幕 ,其实是使系统休眠**/public static void goToSleep(Context context) { PowerManager powerManager= (PowerManager)context.getSystemService(Context.POWER_SERVICE); try { ...原创 2018-10-11 11:33:48 · 7269 阅读 · 0 评论 -
Android dumpsys cpuinfo 信息解读
Android dumpsys命令详细使用:https://blog.csdn.net/jingwen3699/article/details/82631235adb shell dumpsys cpuinfoLoad: 0.72 / 0.79 / 0.85CPU usage from 729557ms to 163888ms ago (2019-06-05 16:33:...原创 2019-06-05 17:02:43 · 11787 阅读 · 0 评论 -
Android应用具有persistent属性时升级清理AMS缓存数据
Android系统中,为了某些目的需要保证应用运行时尽量不被系统kill(特别是处于后台时),所以都会给应用增加persist标签,以避免在系统低内存时被系统kill,也算是系统级的保活方案, 不过要使android:persistent 属性生效, 普通应用是不行的,需要将应用push至系统目录才行。 <application …………… ...原创 2019-05-14 19:38:20 · 3634 阅读 · 5 评论 -
反编译APK
1.将APK直接解压(修改后缀名为.zip,然后解压)后,可以看到目录下包含一个classes.dex文件。 2.安装 dex2jar下载地址:https://sourceforge.net/projects/dex2jar/ 3.dex转换成jar将需要反编译的dex文件(这里是classes.dex)复制到 dex2jar 解压目录下。打开命令行进入 d2j-d...原创 2019-01-16 19:07:10 · 206 阅读 · 0 评论 -
Android 辅助功能(无障碍)自定义开发类似微信抢红包插件
背景:通常在无人值守的Android智能设备或不能触摸交互的设备中,当系统运行异常时, 系统有可能会弹出应用程序无响应(ANR)对话框,提示是否终止当前进程或等待,或应用程序异常退出时系统偶尔也会有弹窗,那么对于无人值守的设备,我们可以通过Android 辅助功能,监听到有异常时, 自动帮用户点掉窗口。辅助功能需要用到 AccessibilityService , Accessibility...原创 2018-12-16 17:36:47 · 5003 阅读 · 0 评论 -
HandlerThread 快速使用
什么是HandlerThreadHandlerThread本质上是一个线程类,它继承了Thread; HandlerThread有自己的内部Looper对象,可以进行looper循环; 通过获取HandlerThread的looper对象传递给Handler对象,可以在handleMessage方法中执行异步任务。 创建HandlerThread后必须先调用HandlerThread.s...原创 2018-12-06 16:08:40 · 128 阅读 · 0 评论 -
Android IntentService快速使用
背景/简介 在Android开发中,凡是遇到耗时操作通常都会交给Service去做,比如上传文件,下载文件等需要耗时的任务。出于对内存的考虑,如果担心Service被杀,通常还能通过startForeground(int, Notification) 将服务升级为前台服务,提升优先级。 Service默认是执行在主线程上的,所以,在Service里面不能直接做耗时操作,否者回造成A...原创 2018-11-02 14:45:55 · 2367 阅读 · 0 评论 -
Android/Java 压缩/解压/加密文件/zip
背景 常我们再开发过程中,无论是Android 客户端程序还是桌面程序,有可能涉及到文件的上传和下载,多文件时通常做zip压缩处理,将多个文件压缩为一个zip包,方便传输,另外,客户端内也可能会涉及到一些资源的下载,这些资源通常都以zip的方式存放在服务器上,客户端可以在合适的时候将zip文件下载,然后解压资源。下面了解一下使用Zip4j框架来压缩和解压处理文件。 Zip...原创 2018-11-06 19:05:44 · 4094 阅读 · 0 评论 -
Android AlarmManager 定时任务/报警管理
Android AlarmManager 定时任务/报警管理 官方解释:AlarmManager类提供对系统警报服务的访问。这些允许您安排应用程序在将来的某个时间运行。当警报响起时,Intent系统会广播为其注册的警报,如果目标应用程序尚未运行,则会自动启动它。设备处于休眠状态时会保留已注册的警报(如果设备在此期间关闭,则可以选择将设备唤醒),但如果设备关闭并重新启动,则会清除Alarm...原创 2018-11-01 16:43:48 · 18433 阅读 · 3 评论 -
Android 自定义数字键盘
先来看下截图 有时需要输入验证码或者数字密码的地方,为了安全和便捷,应用内通常会自定义一个数字键盘,来帮助用户完成输入。那么我们来自己动手撸一个键盘出来; 1.首先在res目录里新建xml目录,然后在xml目录中新建num_keyboard.xml:<?xml version="1.0" encoding="utf-8"?><Keyboard...原创 2018-10-31 14:13:35 · 2559 阅读 · 0 评论 -
Android 一键锁屏(系统管理员方式实现)
1.首先需要创建一个广播接收者,继承DeviceAdminReceiver,无需重写任何实现;public class LockReceiver extends DeviceAdminReceiver {} 当然,广播接收者要注册<!-- 设备管理 --> <receiver android:name=".LockReceiver" ...原创 2018-10-22 20:13:31 · 679 阅读 · 0 评论 -
Android 通过ADB Shell 强行关闭和启动应用
1.在PC上通过adb 关闭/启动应用1)通过adb连接设备 adb connect 192.168.1.XX , 当然也可以通过USB 直接连接;2) 执行adb shell ps 查看当前正在运行的进程列表,可以获取进程的名字;3)执行adb shell am force-stop 包名 即可强行关闭进程,eg: adb shell am force-s...原创 2018-10-16 10:39:23 · 24042 阅读 · 3 评论 -
Android 代码模拟物理按键
开发中有遇到这样的情况,物理按键个数有限, 想用代码模拟其他物理按键输入,这里用了shell 命令在程序运行时环境里模拟按键事件。因命令执行会阻塞线程, 所以最好是在子线程里执行命令: new Thread(){ @Override public void run() { execByRuntime("in...原创 2018-10-15 17:54:08 · 12579 阅读 · 2 评论 -
Android恢复出厂设置
0.应用必须是系统应用也就是apk需要放置在/system/priv-app/xxx/aaa.apk , 或/system/app/ 中可以不声明android.uid.system1.权限声明 <uses-permission android:name="android.permission.RECOVERY"/> <uses-permissio...原创 2019-08-05 22:13:56 · 1819 阅读 · 0 评论