Android回顾之静默安装
来源:互联网 发布:ubuntu 14.04 qq 2015 编辑:程序博客网 时间:2024/05/22 04:33
应用有时候会需要静默安装一些应用(你们懂得!)。
但是 PackageManager.installPackage方法被隐藏了,需要反射调用。
// 静默安装public static void staticInstall(File fp, String packageName,IPackageInstallObserver callback,Context context) {PackageManager pm = context.getPackageManager();int flags = 0;Class<? extends PackageManager> o = pm.getClass();Field[] fields = o.getFields();for (Field f : fields) {if (f.getName().equals("INSTALL_INTERNAL")) {try {flags = f.getInt(pm);} catch (IllegalAccessException e) {e.printStackTrace();return;}break;}}Method[] methods = o.getMethods();Uri uri = Uri.fromFile(fp);for (Method m : methods) {if (m.getName().equals("installPackage")) {try {m.setAccessible(true);m.invoke(pm, new Object[] { uri, callback, flags, packageName });} catch (IllegalArgumentException e) {Log.d("chen", "IllegalArgumentException err=" + e.getMessage());e.printStackTrace();return;} catch (IllegalAccessException e) {e.printStackTrace();Log.d("chen", "IllegalAccessException err=" + e.getMessage());return;} catch (InvocationTargetException e) {Log.d("chen", "InvocationTargetException err=" + e.getMessage());e.printStackTrace();return;}break;}}Log.d("CreateInstall", "OK");};
安装完成回调需要继承自IPackageInstallObserver.Stub的类来完成。
0 0
- Android回顾之静默安装
- Android 静默安装 静默卸载 探索之路
- android应用的安装之静默安装
- Android 静默升级,静默安装
- Installshield之静默安装
- android静默安装探讨
- Android静默安装
- Android静默安装
- Android 实现静默安装
- android静默安装
- android 静默安装
- android 静默安装
- android 静默安装
- Android静默安装
- android 静默安装
- Android静默安装
- Android静默安装
- android 静默安装apk
- maven 可用仓库网址
- 在debian 安装 vm tool
- 学习https的总结
- 巧妇能为少米之炊(1)——Android下小内存下的生存之道
- LA4329
- Android回顾之静默安装
- Android的framework层音量控制原理分析--hot(key)处理
- 好文分享
- 解析Obj-C中的assgin,copy,retain关键字的含义。
- 七(7.6 ) 线程的执行时间
- OCX控件包装类的生成
- 使用TabHost实现卡片选项菜单
- 抑郁症患者的陈述
- 解决WordPress主题缺少style.css无法安装的方法