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

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. Oracle-11g-r2 实例囚笼(Instance Caging)配置

    实例囚笼(Instance Caging)应用场合: 在单台多 CPU 的服务器上,经常出现同时运行多个数据库实例的情况,此方式有利于提高硬件的使用率. 但是多个数据库实例运行,将会互相争用服务器资源 ...

  2. redis持久化详解

    一.RDB持久化 RDB 持久化 可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). 优点:快速持久化.占用磁盘空间少.适合于用做备份,主从复制也是基于RD ...

  3. C/C++互相调用

    参考: http://www.cnblogs.com/Yogurshine/p/3913073.html http://blog.chinaunix.net/uid-24118190-id-29853 ...

  4. POP邮件收取邮件 代码

    // 111111.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <WinSock.h> #include ...

  5. 简述json模块

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,他的数据结构与Python中的字典一样,键值对来表示数据间的关系,可以包含列表. 在编写 ...

  6. Oracle查看字符集

    select * from nls_database_parameters where parameter like 'NLS%CHARACTERSET';

  7. 利用Word发布文章到博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  8. (广搜)聪明的打字员 -- POJ --1184

    链接: http://poj.org/problem?id=1184 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88230#probl ...

  9. ui-router 之 $state.go

    Ui-router 之 $state.go   $state.go(arg1,arg2,arg3),有三个参数:第一个参数是你需要跳转的完整路由:第二个参数是query,当然不需要query,直接写{ ...

  10. Configuring Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2 and Release 12.1.3 in a Multinode Environment (Doc ID 1081100.1)

    Configuring Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2 and Release 12.1.3 in a Mu ...