android源码下有一些标 注有hide得类 ,这些是android隐藏得api
我们可以通过java得反射来调用这些类
比如我下面就用反射来调用IWindowManager得injectKeyEvent方法来向系统发送模拟按键事件

这里分别获取类得名字。仅仅只是类名

这里是获取ServiceManager得方法getservice ,这个方法得有一个参数是 String类型得

这里是getService.invoke(ServiceManager.newInstance(), "window")); 是调用了这个getservice得方法
方法名字.invoke() 第一个参数必须为类得实例 必须newInstance() 第二个参数 就是方法要传得参数
这样就等于调用了ServiceManager.getService("window"); 返回一个binder

IWindowManager.Stub.asInterface((IBinder) 这里IwindowManager 是不能被eclipse识别得 我们必须去源码那把这个类拷过来 建一个相同得包名 放置这个类 比如android.view.IWindowManager的aidl

就可以生成一个IWindowManager得类了

就可以获得这个IWindowManager得实例了

这样做 就可以调用android隐藏得api了 不过不同得api得方法和参数都不一样 需要我们去看源码怎么调用
而且这样调用隐藏得api 一样需要遵循android得权限 在能调用

更多相关文章

  1. android键盘输入读取
  2. android平台移植总结
  3. Android(安卓)完美退出 App 方法
  4. Android(安卓)创建桌面快捷方式
  5. Android(安卓)Kotlin的使用及简单实例
  6. Android(安卓)SQLite数据库操作
  7. Android主流三方库源码分析(七、深入理解ButterKnife源码)
  8. 从源码角度一步步分析AsyncTask的用法与原理
  9. Android平滑移动——Scroller类研究

随机推荐

  1. 基于Android的Word在线预览
  2. Android(安卓)ScrollView 滚动监听
  3. Fragment使用
  4. IntelliJ IDEA/Android(安卓)Studio 翻译
  5. android 防IOS开关SwitchButton
  6. 还有比这更全的Android代码与驱动吗?
  7. Android(安卓)OpenGL ES 播放 yuv420p文
  8. Android(安卓)自定义适配器
  9. Android(安卓)Gradle Plugin插件开发——
  10. android SQLite数据库的增删改查以及事务