1. import android.content.Context;
  2. import android.content.Intent;
  3. import android.content.pm.PackageInfo;
  4. import android.content.pm.PackageManager;
  5. import android.content.pm.PackageManager.NameNotFoundException;
  6. import android.net.Uri;
  7. import java.io.File;
  8. public class ApkUtils {
  9. private static final String TAG = ApkUtils.class.getSimpleName();
  10. /**
  11. * 获取应用程序名称
  12. */
  13. public static String getAppName(Context context) {
  14. try {
  15. PackageManager packageManager = context.getPackageManager();
  16. PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
  17. int labelRes = packageInfo.applicationInfo.labelRes;
  18. return context.getResources().getString(labelRes);
  19. } catch (NameNotFoundException e) {
  20. e.printStackTrace();
  21. }
  22. return null;
  23. }
  24.  
  25. /**
  26. * [获取应用程序版本名称信息]<BR>
  27. *
  28. * @param context
  29. * @return 当前应用的版本名称
  30. */
  31. public static String getVersionName(Context context) {
  32. try {
  33. PackageManager packageManager = context.getPackageManager();
  34. PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
  35. return packageInfo.versionName;
  36. } catch (NameNotFoundException e) {
  37. }
  38. return null;
  39. }
  40. /**
  41. * @return 当前程序的版本号
  42. */
  43. public static int getVersionCode(Context context) {
  44. int version;
  45. try {
  46. PackageManager pm = context.getPackageManager();
  47. PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
  48. version = packageInfo.versionCode;
  49. } catch (Exception e) {
  50. e.printStackTrace();
  51. version = 0;
  52. }
  53. return version;
  54. }
  55.  
  56. /**
  57. * 得到安装的intent
  58. * @param apkFile
  59. * @return
  60. */
  61. public static Intent getInstallIntent(File apkFile) {
  62. Intent intent = new Intent();
  63. intent.setAction(Intent.ACTION_VIEW);
  64. intent.setDataAndType(Uri.fromFile(new File(apkFile.getAbsolutePath())),
  65. "application/vnd.android.package-archive");
  66. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  67. return intent;
  68. }
  69.  
  70. }

ApkUtils的更多相关文章

  1. Java环境解析apk文件信息

    概述:Java解析apk文件,获取apk文件里的包名,版本号,图标文件等; 功能:可以提供给windows和linux平台使用; 原理:利用aapt.exe或者aapt这些anroid平台解析apk文 ...

  2. android应用版本更新功能---完整版

    源码下载地址:csdn下载地址:http://download.csdn.net/download/csdn576038874/9526085 博客园下载地址:http://files.cnblogs ...

  3. Mac appium apk覆盖性安装的问题

    /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/n ...

  4. Android 开发工具类 35_PatchUtils

    增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity ...

  5. Appium升级后安装UnicodeIME-debug.apk 提示

    使用appium1.8 ,启动app过程中报错: 2018-05-08 17:09:16:890 - [W3C] Encountered internal error running command: ...

  6. 一键轻松查看apk包名和Main Activity

    环境 Windows系统(我的是Win10 64位) Python3(我的是3.6.1) 已安装Git 安装 pip install git+https://github.com/codeskyblu ...

  7. OkDownload项目实战

    本文介绍项目中引入okhttp-okgo开源框架里的OkDownload部分,实现了RecyclerView列表的下载功能. 引入OKDownload 需求不仅是要支持断点续传,而且还要支持队列下载和 ...

  8. apk、图片下载工具(1)

    package com.js.ai.modules.pointwall.util; import java.io.BufferedInputStream; import java.io.Buffere ...

  9. Appium python自动化测试系列之认识Appium(四)

    ​4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...

随机推荐

  1. Win10系统升级更新方式将会更智能

    使用Win10系统的你肯定遇到过在工作时开始自动更新而不得不搁置工作的情况,想必你也已经被Win10系统的自动更新折磨不已,不过这种情况将会马上得到改观. 微软现在已经开始寻找更智能的版本升级更新方式 ...

  2. Linux/Unix/Cygwin 常用命令

    以下只说明各指令的基本用法,若需详细说明,请用man去读详细的manual.[Cygwin通常没有安装 man相关的文件,所以没有man功能] 1.关于文件/目录处理的指令: 1.1 ls 这是最基本 ...

  3. Linux磁盘及文件系统管理2

    创建文件系统: 格式化:低级格式化(分区之前进行,划分磁道).高级格式化(分区之后对分区进行,创建文件系统) 元数据区,数据区 元数据区: 文件元数据:inode(index node) 大小.权限. ...

  4. vue2.0+webpack+vuerouter+vuex+axios构建项目基础

    前言 本文讲解的是vue2.0+webpack+vuerouter+vuex+axios构建项目基础 步骤 1.全局安装webpack,命令 npm install webpack -g 注意,web ...

  5. Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告

    一.摘要 本篇博文将介绍如何借助BeautifulReport和HTML模版,生成HTML测试报告的BeautifulReport 源码Clone地址为 https://github.com/Test ...

  6. 数据库 MySQL:Windows 环境安装教程

    1. 双击 MySQL 安装包,出现安装界面,选择“next” 2. 勾选接受协议,点击“next” 3. 安装类型选择自定义“Custom”,点击“next” 4. 选择安装路径,点击“next” ...

  7. Peter Shirley Ray Tracing in One Weekend(上篇)

    Peter Shirley-Ray Tracing in One Weekend (2016) 原著:Peter Shirley 本书是Peter Shirley ray tracing系列三部曲的第 ...

  8. 218多校第九场 HDU 6424 (数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6424 题意:定义f(A) = log log log log …. (A个log) n ,g[A,B, ...

  9. mybatis sql语句中转义字符

    问题: 在mapper  ***.xml中的sql语句中,不能直接用大于号.小于号要用转义字符 解决方法:   1.转义字符串 小于号    <    < 大于号    >    & ...

  10. 牛客寒假算法基础集训营2 【处女座与复读机】DP最小编辑距离【模板题】

    链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女 ...