Android 获取未安装的APK图标、版本号、包名等信息方法

一、获取APK图标

 public static Drawable getApkIcon(Context context, String apkPath) {
  PackageManager pm = context.getPackageManager();
  PackageInfo info = pm.getPackageArchiveInfo(apkPath,
    PackageManager.GET_ACTIVITIES);
  if (info != null) {
   ApplicationInfo appInfo = info.applicationInfo;
   appInfo.sourceDir = apkPath;
   appInfo.publicSourceDir = apkPath;
   try {
    return appInfo.loadIcon(pm);
   } catch (OutOfMemoryError e) {
    Log.e("ApkIconLoader", e.toString());
   }
  }
  return null;
 }

下面代码段中PackageManager、PackageInfo、ApplicationInfo均同上面一致。

二、获取APK名称

String label = appInfo.loadLabel(mPackManager).toString(); 

三、获取APK包名

String packageName = appInfo.packageName; 

四、获取APK版本号

String version = info.versionName==null?<p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px;"></p><p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px;">"0":info.versionName</p>

五、推断APK是否安装

private boolean isApkInstalled(String packagename)
	 {
	 PackageManager localPackageManager = getPackageManager();
	 try
	 {
	  PackageInfo localPackageInfo = localPackageManager.getPackageInfo(packagename, PackageManager.GET_UNINSTALLED_PACKAGES);
	  return true;
	 }
	 catch (PackageManager.NameNotFoundException localNameNotFoundException)
	 {
	  return false;
	 }

	 }

六、安装APK

private void installAPK(String apkPath)
 {
  Intent intent = new Intent();
  intent.setAction(Intent.ACTION_VIEW);
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.setDataAndType(Uri.parse("file://" + apkPath),
    "application/vnd.android.package-archive");
  mContext.startActivity(intent);
 } 

七、打开APK

private void openAPK(String packagename)
  {
   PackageManager packageManager = mContext.getPackageManager();
   Intent intent=new Intent();
   intent =packageManager.getLaunchIntentForPackage(packagename);
   mContext.startActivity(intent);
  } 

以上这篇Android 获取未安装的APK图标、版本号、包名等信息方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Android中获取apk安装包信息的方法
  • Android编程获取包名,版本信息及VersionName名称的方法
时间: 2018-01-16

Android编程获取包名,版本信息及VersionName名称的方法

本文实例讲述了Android编程获取包名,版本信息及VersionName名称的方法.分享给大家供大家参考,具体如下: 话不多说,直接上代码,此处,主要是在版本升级的时候,使用较多. private String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPackageInfo( pkName, 0).versionNam

Android中获取apk安装包信息的方法

一.获取安装包信息 复制代码 代码如下: /** * 获取apk包的信息:版本号,名称,图标等 * @param absPath apk包的绝对路径 * @param context  */  public void apkInfo(String absPath,Context context) { PackageManager pm = context.getPackageManager();      PackageInfo pkgInfo = pm.getPackageArchiveInf

js 中获取制定的cook信息实现方法

前提: 在js中获取cook最蛋疼,因为他没按照cook变量的值一个个的存好,而是所有的变量都存在一起,只能字段一个个取出来,才能获得某个cook的值. 所以写一个function,来获得某个变量的值: function get_cookie(name) { var bikky = document.cookie; name += "="; var i = 0; while (i < bikky.length) { var offset = i + name.length; if

基于Android中获取资源的id和url方法总结

一.获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name="OK">> 客户端请求成功 << / string>> //string资源中 名称为OK的 id 获取方式 int strId = getResources().getIdentifier("OK", "string", getPackageName()); 1.2 color型

Android中获取设备的各种信息总结

一.屏幕分辨率 Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y; 或者: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getM

Android中获取sha1证书指纹数据的方法

前言 在Android开发中,经常要获取sha1证书指纹.例如:在嵌入高德地图的时候,就需要使用这个东东.这个东西在Eclipse中可以直接获取到,但是在Android Studio中,并没有直接提供,需要通过别的手段手动获取. 我们可以使用Java 的一个工具:keytool 来获取这个值.keytool 是jdk提供的一个工具,只要你的java环境变量配置的ok. 直接在命令行输入keytool就可以执行这个命令. 获取sha1的命令为: keytool -list -keystore *.

Android中获取状态栏高度的两种方法分享

前言 最近在做一个关于FAB的功能的时候需要获取状态栏的高度,在网上查了很多种方法,下面是选出的比较合理的两个方法.主要参考stackoverflow的这篇问答:http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android 方法一: private double getStatusBarHeight(Context context){ double statusBarHeight = Math.ceil(25

php自定义apk安装包实例

本文实例讲述了php自定义apk安装包的方法,分享给大家供大家参考.具体实现方法如下: 众所周知,apk格式安装文件是android智能系统的安装文件,下面我们来看一个利用php实现自定义apk安装包实例. 一.需求: 需要实现对产品进行一次推荐好友安装的活动,每个会员下载自己的专属安装包(里面记录会员的相关信息). 二.思路: 经过了解,发现apk安装包原来只是zip的一个马甲,使用php的ZipArchive类可以对文件进行操作. 三.实现代码: 复制代码 代码如下: // 源文件 $apk

Android获取手机号码和运营商信息的方法

本文实例讲述了Android获取手机号码和运营商信息的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package com.pei.activity;    import android.app.Activity;  import android.os.Bundle;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  i

Android中获取网页表单中的数据实现思路及代码

MainActivity如下: 复制代码 代码如下: package cn.testjavascript; import java.util.StringTokenizer; import android.os.Bundle; import android.webkit.WebView; import android.app.Activity; /** * Demo描述: * 在Android中获取网页里表单中的数据 */ public class MainActivity extends Ac

Android中获取资源 id 及资源 id 的动态获取

 Android中获取资源 id 及资源 id 的动态获取 我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句: btnChecked=(ImageView)findViewById(R.id.imgCheck); findViewById是我们获取layout中各种View 对象比如按钮.标签.ListView和ImageView的便利方法.顾名思义,它需要一个int参数:资源id. 资源id非常有用.Android回自动为每个位于r