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();
 - }
 - }
 
Android-获取手机已经安装的程序的更多相关文章
- 利用RxJava获取手机已安装的App的图片、应用名称和版本号
		
先上效果图: 获取手机已安装的App列表利用Android系统API就可以办到,这里为什么要引入RxJava?现在我们假设一下有下面几个需求: 1.我们不需要所有的App,只需要用户安装的第三方App ...
 - android API版本对应的系统版本及Android获取手机和系统版本等信息的代码
		
学了这么久的Android,竟然一直对其API对应的名称关系一值搞不清楚,现在网上认真看了下资料,转载一个觉得写得不错的作者的文章,记下来: [背景] 之前折腾android期间,慢慢地知道了,And ...
 - c# 遍历所有安装程序 获取所有已经安装的程序
		
/// <summary> /// 获取所有已经安装的程序 /// </summary> /// <param name="reg"></ ...
 - Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息
		
Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...
 - 获取手机已安装应用的name,bundleIdentitifer
		
获取手机已安装应用的name,bundleIdentitifer Class c =NSClassFromString(@"LSApplicationWorkspace"); id ...
 - Android 获取手机的厂商、型号、Android系统版本号等工具类(转载)
		
Android 获取手机的厂商.型号.Android系统版本号等工具类 1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android系统版本号 5.获取手机IMEI串 ...
 - 从”茄子快传”看应用程序怎样获取手机已安装程序的apk文件
		
"茄子快传"是联想开发的一款近距离文件共享软件.它通过wifi-direct(速度飞快,不须要联网)或者普通的网络(速度慢)在不同手机间传递文件. 不知为何.它就火了起来,火的也飞 ...
 - android获取手机信息大全
		
IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...
 - android获取手机信息2
		
IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...
 
随机推荐
- jmeter 使用cookie管理器
			
1.jmeter.properties 中 将CookieManager.save.cookies 设置为true 2.添加一个cookie管理器,什么都不用填 3.把需要用到的请求放到登录后面.后 ...
 - (K)ubuntu上将分区格式化成NTFS格式
			
新买了硬盘,装系统时,为Windows预留了几个分区,由于没有其他选择,因此将分区格式化成了fat32格式.装完系统后,总是很纠结,想把这些分区格式化成NTFS格式. google了一下,从这个网址( ...
 - mybatis调用存储过程获得取返回值
			
总体思路:map传值 controller: Map<String,Object> m=new HashMap<String,Object>(); m.put("na ...
 - Java Thread系列(一)线程创建
			
Java Thread系列(一)线程创建 Java 中创建线程主要有三种方式:继承 Thread.实现 Runnable 接口.使用 ExecutorService.Callable.Future 实 ...
 - Java Thread系列(七)死锁
			
Java Thread系列(七)死锁 当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程 A 当前持有互斥所锁 lock1,线程 B 当前持有互斥锁 lock2.接下来,当线程 A 仍然 ...
 - 【转】Defunct进程 僵尸进程
			
在测试基于 DirectFB+Gstreamer 的视频联播系统的一个 Demo 的时候,其中大量使用 system 调用的语句,例如在 menu 代码中的 system("./play&q ...
 - UVaLive 4128 Steam Roller (多决策最短路)
			
题意:给定一个图,r 根横线, c 根竖线.告诉你起点和终点,然后从起点走,每条边有权值,如果是0,就表示无法通行.走的规则是:如果你在下个路要转弯,会使这段路的时间加倍,但是如果一条路同时是这样,那 ...
 - 软件项目第一个Sprint评分
			
第一组 跑男 跑男组他们设计的是极速蜗牛小游戏,他们的界面背景图片做的挺漂亮,现在为止也实现了大部分功能, 但是我没有太听懂他们的游戏规则. 因为蜗牛出发后,每次碰到屏幕边缘后都会有确定的反弹结果,也 ...
 - Android-LogUtil-工具类
			
LogUtil-工具类 是专门Log日志打印 和 Toast的提示,的公共方法 package common.library.utils; import android.content.Context ...
 - 词频统计-part2
			
看到这个问题为之一愣,这简单多了,在第一部分的基础上把那些存储结构删了,把排序算法删了,设置一个变量,遇到则加一,直到读到文件尾.最后输出单词出现次数. 程序比较简单也比较,下面就把程序贴出来: pa ...