android典型代码系列(十三)------通过反射获得未暴露的方法
来源:互联网 发布:类似snapchat的软件 编辑:程序博客网 时间:2024/06/06 02:01
10_通过反射获得未暴露的方法:
import java.lang.reflect.Method;import android.app.Activity;import android.content.pm.IPackageStatsObserver;import android.content.pm.PackageManager;import android.content.pm.PackageStats;import android.os.Bundle;import android.os.IBinder;import android.os.RemoteException;public class DemoActivity extends Activity { private PackageManager pm; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); pm = getPackageManager(); try {/********************* getPackageSizeInfo 是私有的,没有暴露出来,不能直接调用*************/ /*************** 如果不知道getPackageSizeInfo参数的类型,则可以通过下面的方法来获取 Method[] methods = PackageManager.class.getMethods(); for (int i = 0; i < methods.length; i++) { if ("getPackageSizeInfo".equals(methods[i].getName())) { Class<?>[] paras = methods[i].getParameterTypes(); for(int j=0;j<paras.length;j++){ System.out.println(paras[j]); //获得参数类型 } } }****************************************************************/ Method method = PackageManager.class.getMethod("getPackageSizeInfo", new Class[]{String.class,IPackageStatsObserver.class}); method.invoke(pm, new Object[]{"cn.itcast.mobilesafe",new IPackageStatsObserver.Stub() { public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException { System.out.println("----------------"); long cachesize = pStats.cacheSize; long codesize = pStats.codeSize; long datasize = pStats.dataSize; System.out.println("datasize"+datasize); System.out.println("codesize"+codesize); System.out.println("cachesize"+cachesize); } }}); } catch (Exception e) { e.printStackTrace(); } }}
0 0
- android典型代码系列(十三)------通过反射获得未暴露的方法
- android典型代码系列(二十一)------根据文件后缀名获得对应的MIME类型
- android典型代码系列(十)------获取一个应用程序的权限信息(反射)
- android典型代码系列(十五)------字节转KB_MB_GB方法
- android典型代码系列(十四)------子线程中弹出土司的方法
- android典型代码系列(十九)------将一个数组复制成为另外一个数组的方法
- java 通过反射获得类的属性和调用方法
- Android 通过反射启动未安装的APK中的Activity
- android通过代码获得sha1的值
- android典型代码系列(二十五)------popupwindow的使用
- android典型代码系列(二十六)------App widget的使用
- android典型代码系列(二十八)------通话记录的操作
- android典型代码系列(一)------android调试
- android通过反射获得资源数据
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- java反射机制 以及通过反射获得类的变量字段,方法,构造函数
- android典型代码系列(五)------deviceadmin步骤
- android典型代码系列(九)------电话拦截
- PL/SQL调试存储过程
- 包的排列问题
- 在spring-mvc的非controller类里面调用service方法
- (十)swift UICollectionViewController常用操作(swift 九宫格)
- iOS App 上架被拒的各种原因
- android典型代码系列(十三)------通过反射获得未暴露的方法
- quartz2.2简单调度Job
- 自定义view 使用canvas画动态图
- PHP正则表达式语法汇总
- DEV控件ChartControl用法
- 页面跳转
- linux 下多线程epoll编程 -socket
- JavaEE_Mybatis_SpringMVC_框架整合_lesson1_简单的SSM框架搭建_使用原始Dao开发方式进行测试
- android典型代码系列(十四)------子线程中弹出土司的方法