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

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

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

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

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

  1. private void uninstallSoftware(Context context, String name) {
  2. final PackageManager packageManager = context.getPackageManager();
  3. try {
  4. PackageInfo pInfo = packageManager.getPackageInfo(name,
  5. PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
  6. if(pInfo!=null){
  7. //删除软件
  8. Uri uri = Uri.parse("package:"+ name);
  9. Intent intent = new Intent(Intent.ACTION_DELETE, uri);
  10. context.startActivity(intent);
  11. }
  12. } catch (NameNotFoundException e) {
  13. e.printStackTrace();
  14. }
  15. }

从android2.2开始软件可以安装到SD卡上,所以也有相应接口判断程序是否安装到SD卡上

  1. private void isInstallOnSd(Context context,String name){
  2. PackageManager pm=context.getPackageManager();
  3. ApplicationInfo appInfo;
  4. try {
  5. appInfo = pm.getApplicationInfo(name, 0);
  6. if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
  7. // App on sdcard
  8. Log.d("info", "app on sd");
  9. }
  10. } catch (NameNotFoundException e) {
  11. e.printStackTrace();
  12. }
  13. }

Android-获取手机已经安装的程序的更多相关文章

  1. 利用RxJava获取手机已安装的App的图片、应用名称和版本号

    先上效果图: 获取手机已安装的App列表利用Android系统API就可以办到,这里为什么要引入RxJava?现在我们假设一下有下面几个需求: 1.我们不需要所有的App,只需要用户安装的第三方App ...

  2. android API版本对应的系统版本及Android获取手机和系统版本等信息的代码

    学了这么久的Android,竟然一直对其API对应的名称关系一值搞不清楚,现在网上认真看了下资料,转载一个觉得写得不错的作者的文章,记下来: [背景] 之前折腾android期间,慢慢地知道了,And ...

  3. c# 遍历所有安装程序 获取所有已经安装的程序

    /// <summary> /// 获取所有已经安装的程序 /// </summary> /// <param name="reg"></ ...

  4. Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息

    Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...

  5. 获取手机已安装应用的name,bundleIdentitifer

    获取手机已安装应用的name,bundleIdentitifer Class c =NSClassFromString(@"LSApplicationWorkspace"); id ...

  6. Android 获取手机的厂商、型号、Android系统版本号等工具类(转载)

    Android 获取手机的厂商.型号.Android系统版本号等工具类 1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android系统版本号 5.获取手机IMEI串 ...

  7. 从”茄子快传”看应用程序怎样获取手机已安装程序的apk文件

    "茄子快传"是联想开发的一款近距离文件共享软件.它通过wifi-direct(速度飞快,不须要联网)或者普通的网络(速度慢)在不同手机间传递文件. 不知为何.它就火了起来,火的也飞 ...

  8. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

  9. android获取手机信息2

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

随机推荐

  1. 第6章 数组、指针与字符串(一)基于范围的for循环

  2. ASP.NET文件上传大小限制

    上传限制 我们以为的文件大小限制 我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web. ...

  3. c#获取本地IP和MAC地址

    1>通过wmi获取 using System; using System.Management; using System.Net; public class Program { static ...

  4. C#缓存-依赖 CacheHelper

    缓存依赖文件或文件夹 //创建缓存依赖项 CacheDependency dep = new CacheDependency(fileName);//Server.MapPath("&quo ...

  5. centos7之salt命令随笔笔记

    打印当前服务器python下的redis版本 python -c 'import redis; print redis.VERSION' 如果salt-master报错: No minions mat ...

  6. Python爬虫进阶三之Scrapy框架安装配置

    初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 ...

  7. [原创]解决IPCH关闭后可能引发的无法调试的BUG

    前几天清理硬盘,发现大量IPCH目录,文件特别巨大,看着头大,所以决定改为临时模式,同时VS2015和VS2013我都改了,设置如下: (关键字:IPCH目录,VS大文件) 当设置好之后不会出现烦人的 ...

  8. 借用服务器百度BAE

    3一.简介 对于普通的开发者,不必要买服务器和买域名,这时要将自己的项目传到服务器上,就用到了百度BAE这样的,可以直接传项目的服务器. 二.申请 登录百度开放平台上 三.登录网址,选择要使用的项目 ...

  9. Codeforces761B Dasha and friends 2017-02-05 23:34 162人阅读 评论(0) 收藏

    B. Dasha and friends time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  10. linux网络管理员

    1. 查看当前开启的所有网络服务 命令:netstat -a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别 ...