Xposed大法好,教你实现ForceTouch炫酷功能

  1. Xposed 是什么?
    Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。目前支持7.0以下的手机系统。
    Xposed框架下插件的执行是不需要root权限的,但是,但是,但是普通的手机刷入Xposed框架需要root。为什么需要root权限呢?
    我们来看下原理:
    Android 系统在启动时,有一个名字叫做“Zygote”的进程,它是android 运行时环境的核心,所有的其他app进程都需要fork这个 Zygote,然后呢这个Zygote是如何启动呢?答案是在手机启动时,执行了/init.rc脚本,最后还会执行/system/bin/app_process(加载需要的类以及关联初始方法)。这里就是Xposed框架执行的地方,当你安装了Xposed框架,一个 extended app_process被拷贝到来了 /system/bin,然后这个'extended startup process' 就会加载 XposedBridge.jar到运行时环境,即使是在Zygote的main方法被执行之前,我们也可以获取到其上下文,做一些爱做的事(捂脸逃。然后呢,对于任何一个app ,我们都可以hook或者替换掉其中的类或方法或对象,还有资源文件,是不是很厉害,哈哈。
    知道这里以后,我们便可以开发自己的插件,具体教程点这里Xposed官方教程
  2. ForceTouch是什么?

    苹果的3D Touch知道不?没错,就是那个。我能说android在2.0时代就有相应的支持吗。哈哈,确实有的,来来来,看这里:
    MontionEvent的getPressure
    在触摸事件中已经有了这个压力啦,只是我们平常没有注意到吧。所以赶紧用上吧。
  3. 两者如何结合?
    这里我来说下应用的思路吧:通过xposed插件hook所有应用的所以view的dispatchTouchEvent事件,获取其中的MontionEvent ,进而获取到其中的压力值,进而根据压力的变化,在Xposed插件中获取到该应用的上下文,do anything you want!
  4. 炫酷应用推荐
    全能分词app:https://www.zhihu.com/question/53607540
    这里是视频演示:http://v.youku.com/v_show/id_XMTg2Mzg1MTk5Mg==.html

当然最后的最后是工程的网址:

  1. 如何开发Xposed插件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,682评论 25 708
  • 前言 Xposed这位老兄大家可能不认识,微信自动抢红包大家听过吧、微信记录器作弊大家听过吧、地理位置模拟大家听过...
    王永迪阅读 31,668评论 15 62
  • 转载注明出处:简书-十个雨点 简介 我们模仿锤子制作的Bigbang应用,通过辅助服务基本上实现了在微信、QQ等聊...
    十个雨点阅读 13,777评论 2 16
  • 本周8.8-8.12号旅游5天。但是刚好主题是交通,乘坐了火车,渡轮,长途车等交通工具。路上玩过2比riddle ...
    喵小颜的颜小猫阅读 329评论 0 0
  • 〖http://pan.cccyun.cc/down.php/48686edccf599ea920ca9428bc...
    蛋壳DK阅读 114评论 0 0