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) { ListList
.queryIntentActivities(intent, 0);
if (list.size() > 0) {
return true;
}
return false;
}
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- Android(安卓)logcat命令使用
- sqlite3 常用命令 for android
- Android(安卓)字体自适应设置
- Android(安卓)R文件
- android中电话拨号器,短信发送器