利用JAVA反射机制实现调用私有方法
1.fragment是AccessibilityFragment的對象。须要被調用的方法的類。
setAccessible(true)并非将方法的訪问权限改成了public。而是取消java的权限控制检查。所以即使是public方法。其accessible属相默认也是false
try {
Class mClass = Class.forName("com.sonymobile.chameleon.workflow.step.AccessibilityFragment");
Method method = mClass.getDeclaredMethod("isAccessibilityEnabled");
method.setAccessible(true);
if(!Boolean.parseBoolean((method.invoke((Object)fragment,null)+""))) {
method = mClass.getDeclaredMethod("enableAccessibility");
method.setAccessible(true);//私有方法
method.invoke((Object)fragment,null);//調用方法,null:爲傳遞的参數
//method.invoke((Object)getService(),new Object[]{getContext()});帶参方法
}
} catch (ClassNotFoundException e) {
Log.d(TAG, "1");
e.printStackTrace();
} catch (NoSuchMethodException e) {
Log.d(TAG, "2");
e.printStackTrace();
} catch (IllegalAccessException e) {
Log.d(TAG, "3");
e.printStackTrace();
} catch (IllegalArgumentException e) {
Log.d(TAG, "4");
e.printStackTrace();
} catch (InvocationTargetException e) {
Log.d(TAG, "5");
e.printStackTrace();
}
利用JAVA反射机制实现调用私有方法的更多相关文章
- 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换
作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...
- 利用JAVA反射机制设计通用的DAO
利用JAVA反射机制设计一个通用的DAO 反射机制 反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息. 反射机制创建类对象 ...
- 利用Java反射机制对实体类的常用操作工具类ObjectUtil
代码: ObjectUtil类: import java.lang.reflect.Field; import java.math.BigDecimal; import java.text.Simpl ...
- 利用Java反射机制将Bean转成Map
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...
- java反射机制(访问私有字段和私有方法)
来自:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html 尽管我们通常认为通过JAVA的反射机制来访 ...
- 利用java反射机制实现读取excel表格中的数据
如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...
- 不使用BeanUtils,利用Java反射机制:表单数据自动封装到JavaBean
在百度搜“java反射 将表单数据自动封装到javabean ”,第一页显示的都是一样的代码,都是利用导入第三方jar包<commons-beanutils>和<commons-lo ...
- 利用JAVA反射机制将JSON数据转换成JAVA对象
net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大, 这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用, 有些数据类型需要进行转 ...
- 利用java反射机制编写solr通用的java客户端
一.前言 通过上一篇的讲解,我们知道了dynamicFiled字段,它是动态的,不需要显示的声明.而且一些常用的基本类型solr已经默认给我们创建好了. 例如:*_i,*_is,等. 如果我们要使用动 ...
随机推荐
- Python内存分配器(如何产生一个对象的过程)
目录 内存分配器 Python分配器分层 第零层--通用的基础分配器 第一层--低级内存分配器 内存结构 arena pool new arena usable_arenas和unused_arena ...
- WHU 1542 Countries (floyd)
题意: 在小明出生的星球X上有n国家. 一些国家通过结盟而拥有良好的双边关系,因此他们的公民得益于这些政策,使得所有这些国家之间的旅行变得免费. 但是,不同联盟之间的旅行就不是这么容易了.如果可能,它 ...
- CSU 1506 Double Shortest Paths
1506: Double Shortest Paths Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 49 Solved: 5 Description ...
- ArcGIS api for javascript——地图配置-
描述 本例展示了如果删除缩放等级滑动器的刻度线.通过设置esriConfig里的sliderLabel为null来实现: esriConfig.defaults.map.sliderLabel = n ...
- 记录遇到的ios下的bugs[废弃]
请看又一次排版后的文章 新地址
- Network Stack : CookieMonster
CookieMonster The CookieMonster is the class in Chromium which handles in-browser storage, managem ...
- Huawei交换机VRP配置介绍
一.命令视图• 用户视图<Huawei>• 系统视图 [Huawei]• 接口视图 [Huawei-GigabitEthernet0/0/1]• 协议视图 [Huawei-rip-1]• ...
- ImportError: cannot import name pxssh
Traceback (most recent call last): File "/root/Desktop/JuniperBackdoor-master/JuniperBackdoor.p ...
- Felx之HTTPService
获取并显示数据 为了向我们的程序提供数据,Adobe Flex包含特别为与HTTP服务器,网络服务或者是远程对象服务(Java对象)进行交互的而设计的组件.这些组件被称之为远程过程调用(RPC)服务组 ...
- Node测试文章收藏
1.Nodejs实战—测试Node程序 讲解了TDD与BDD,TDD的基本原则,单元测试常用框架及使用,例如assert断言库, chai断言库, should.js断言库,断言库搭配测试框架(m ...