http://blog.163.com/benben_long/blog/static/1994582432014219104154971/

比如sd卡里有一个apk文件,可以根据这个apk文件得到他的包名及版本等一切信息。

package com.example.test;

import com.example.androidgametest.R;

import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Environment;
import android.widget.TextView;

public class test extends Activity{
 private TextView mTvTest;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.test);
  
  mTvTest=(TextView) findViewById(R.id.tv_test);
  
  PackageManager pm = this.getPackageManager();
        PackageInfo info = pm.getPackageArchiveInfo(Environment.getExternalStorageDirectory()+"/TianjinPlugin3.apk", PackageManager.GET_ACTIVITIES);
        ApplicationInfo appInfo = null;
        if (info != null) {
            appInfo = info.applicationInfo;
            String packageName = appInfo.packageName;
            mTvTest.setText(packageName);
        }

 }
 
}

因为要从SD卡读这个apk,所以千万别忘了添加权限permission.READ_EXTERNAL_STORAGE


http://blog.csdn.net/chuxing/article/details/7219057

android 判断程序是否安装

1,根据包名判断

public boolean checkApkExist(Context context, String packageName) { if (packageName == null || “”.equals(packageName)) return false; try { ApplicationInfo info = context.getPackageManager() .getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true; } catch (NameNotFoundException e) { return false; } } 2. 根据Intent判断 public boolean checkApkExist(Context context, Intent intent) { List list =  context.getPackageManager().queryIntentActivities(intent, 0); if(list.size() > 0){ return true; } return false; }  public boolean checkApkExist(Context context, String packageName) { if (packageName == null || “”.equals(packageName)) return false;  try { ApplicationInfo info = context.getPackageManager() .getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true; } catch (NameNotFoundException e) { return false; } }  public boolean checkApkExist(Context context, Intent intent) {
  List list = context.getPackageManager()
    .queryIntentActivities(intent, 0);
  if (list.size() > 0) {
   return true;
  }
  return false;
 }

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)logcat命令使用
  6. sqlite3 常用命令 for android
  7. Android(安卓)字体自适应设置
  8. Android(安卓)R文件
  9. android中电话拨号器,短信发送器

随机推荐

  1. android ImageSwitch
  2. 解决Error:Android(安卓)Dex: com.androi
  3. Android 圆角的Button
  4. android 使用异步加载图片
  5. Android九宫格抽奖
  6. android p vts VtsTrebleVendorVintfTest
  7. Android Tips
  8. maven 工程转换成 gradle 工程
  9. android 颜色对应值
  10. Android在标准linux基础上对休眠唤醒的实