Android-获取手机已经安装的程序

有时候我们会查询手机里面是否安装了某个程序,或者获取已经安装软件名称的集合。

android这边提供了相应的接口。

        final PackageManager packageManager = getActivity().getPackageManager();//获取packagemanager 
        List< PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息 
            if(pinfo != null){ 
            for(int i = 0; i < pinfo.size(); i++){ 
                String packName = pinfo.get(i).packageName; 
                Log.d("info", "-->"+packName);
            } 
        } 

上面的例子可以打印出安装软件的包名。每个程序的包名在android手机里都是唯一的。

判断手机是否安装了某个程序,如果安装了此程序,删除它。

	private void uninstallSoftware(Context context, String name) {
		final PackageManager packageManager = context.getPackageManager();
		try {
			PackageInfo pInfo = packageManager.getPackageInfo(name,
					PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
			if(pInfo!=null){
				//删除软件
				Uri uri = Uri.parse("package:"+ name);
				Intent intent = new Intent(Intent.ACTION_DELETE, uri);
				context.startActivity(intent);
			}
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		}
	}
从android2.2开始软件可以安装到SD卡上,所以也有相应接口判断程序是否安装到SD卡上

	private void isInstallOnSd(Context context,String name){
		PackageManager pm=context.getPackageManager();
		ApplicationInfo appInfo;
		try {
			appInfo = pm.getApplicationInfo(name, 0);
			if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
			       // App on sdcard
				Log.d("info", "app on sd");
			}
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		} 
	}




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值