android 根据apk文件获取包名等信息 已经判断 指定 这个apk 是否安装过

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<ResolveInfo> 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<ResolveInfo> list = context.getPackageManager()
    .queryIntentActivities(intent, 0);
  if (list.size() > 0) {
   return true;
  }
  return false;
 }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值