第三方apk锁屏

来源:互联网 发布:java 单线程 编辑:程序博客网 时间:2024/05/16 06:02
1.PackageManager获取第三方锁apk程序信 息(ApplicationInfo),主要是代码(sourceDir)和持久化资源路径(dataDir)。应该是/data/app/XXX.apk/data/data/packagename/

2.ApplicationLoaders::getClassLoader方法获得一个应用程序类加载器,即第三方解锁屏应用程序,用它可以加载对应程序(apk)中的类和资源,用这个类加 载器,去加载第三方锁屏apk中负责 创建锁屏界面的类。


3.获取一个同第三方锁屏一样的上下文环境,Context(里面包含了同样的资源和ClassLoader),获取方法就是Context::createPackageContext.Orange的第三方解锁加载器是为了创建解锁整个View结构时,它的方法需要这个Context


4.定义一个第三方解锁屏的父类,该父类实现KeyguardScreen,然后所有第三方锁屏都实现该父类


5.建立一个第三方解锁屏的eclipse工程,导入/home/b697/gerrit/devr3/out/target/common/obj/JAVA_LIBRARIES/android.policy_intermediates/classes.jar包,为了能引用到第三方锁屏的父类。


以上这种方式弊端就是必须安装apk,无法 象小米似的不用安装,只替换资源


缺点很明显,如果keyguard框架变了,apk程序force close了,就都完了。
原创粉丝点击