判断Android应用是否安装、运行
本文介绍3个方法,判断手机上是否安装了某应用、该应用是否正在运行、获取手机某个APK文件的安装Intent.启动该Intent就可以直接安装该APK。
/** 
 * 判断应用是否已安装 
 *  
 * @param context 
 * @param packageName 
 * @return 
 */ 
private boolean isInstalled(Context context, String packageName) {  
    boolean hasInstalled = false;  
    PackageManager pm = context.getPackageManager();  
    List<PackageInfo> list = pm  
            .getInstalledPackages(PackageManager.PERMISSION_GRANTED);  
    for (PackageInfo p : list) {  
        if (packageName != null && packageName.equals(p.packageName)) {  
            hasInstalled = true;  
            break;  
        }  
    }  
    return hasInstalled;  
}
/** 
 * 获取文件安装的Intent 
 *  
 * @param file 
 * @return 
 */ 
private Intent getFileIntent(File file) {  
    Uri uri = Uri.fromFile(file);  
    String type = "application/vnd.android.package-archive";  
    Intent intent = new Intent("android.intent.action.VIEW");  
    intent.addCategory("android.intent.category.DEFAULT");  
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    intent.setDataAndType(uri, type);  
    return intent;  
}
/** 
 * 判断应用是否正在运行 
 *  
 * @param context 
 * @param packageName 
 * @return 
 */ 
private boolean isRunning(Context context, String packageName) {  
    ActivityManager am = (ActivityManager) context  
            .getSystemService(Context.ACTIVITY_SERVICE);  
    List<RunningAppProcessInfo> list = am.getRunningAppProcesses();  
    for (RunningAppProcessInfo appProcess : list) {  
        String processName = appProcess.processName;  
        if (processName != null && processName.equals(packageName)) {  
            return true;  
        }  
    }  
    return false;  
}
判断Android应用是否安装、运行的更多相关文章
- Android中插件开发篇之----动态加载Activity(免安装运行程序)
		一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ... 
- INNO setup安装卸载钱判断进程中是否在运行总结
		1.安装前判断进程中是否有程序在运行. [files] ; 安装前判断进程,dll文件放在inno的安装目录中Source: compiler:psvince.dll; Flags: dontcopy ... 
- Android判断App是否在前台运行(转)
		原文地址: http://blog.csdn.net/zuolongsnail/article/details/8168689 Android开发中,有时候需要判断App是否在前台运行. 代码实现如下 ... 
- Android 手机上安装并运行 Ubuntu 12.04
		ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ... 
- innosetup 安装前、卸载前判断是否有进程正在运行<转>
		[Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起 function RunTask(FileName: string; bFullpath: Boolea ... 
- [转+补]Android打包so后魅族5中安装运行崩溃问题的解决方法
		上周在做噪音检测so集成中,遇到不同的so库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载失败. 为此,深究了一下原理,和给出了解决方案 ... 
- Android之判断某个服务是否正在运行的方法
		/** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackst ... 
- Android 如何判断指定服务是否在运行中 “Service”
		如何判断一个服务是否正在运行中: /** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName 是包名+服务的类名 * @return ... 
- android apk静默安装
		转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢 ... 
随机推荐
- [ An Ac a Day ^_^ ] CodeForces 680A Bear and Five Cards
			这两天回家了 家里电脑太卡 调试不方便 就只能写写水题了…… #include<stdio.h> #include<iostream> #include<algorith ... 
- Arch最小化安装LXDE桌面环境
			安装最小化的LXDE桌面环境: pacman -S lxde-common 安装LXDE Session: pacman -S lxsession 不安装这个没法登录进桌面环境 安装LXDE面板: p ... 
- solr定时增量索引
			当数据库的数据发生改变的时候,我们不想手动的去重新添加数据库的数据导solr索引库中,所以用到定时添加索引.增删改的数据.现在写的这些都是基于我之前做的一步步到这来的. 将solr/dist下的sol ... 
- redis的常用命令
			键值得相关命令: keys * 返回满足给定patternd的所有key exists 确认一个key是否存在 del 删除一个key expire 设置一个key的过期时间 ttl 查看过期时间还有 ... 
- WPFbutton样式
			有四款button不同的风格 <Window x:Class="SjglzxRj.Window3" xmlns="http://schemas.microsoft. ... 
- wpf之ListBox中ListBoxItem横向排列
			ListBox中ListBoxItem默认是纵向排列,可以通过自定义样式,让其横向排列, 如下Demo: XAML: <Window x:Class="ListBoxItemStyle ... 
- web.config中httpModules和Modules的区别
			最近用到了mvc的 Modules管道时,发现web.config中有两个modules 1.system.web节点下的httpModules 2.system.webServer节点下的modul ... 
- 利用JFreeChart绘制股票K线图完整解决方案
			http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) ... 
- hdu_3294_Girls' research(Manacher)
			题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3294 题意:给你一个字符和一个字符串,第一个字符表示该字符代表a,然后让你求变换后的最长回文区间并输出 ... 
- hdu_Anniversary party_(树形DP入门题)
			题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:有N个人,N-1个人有自己的上司,每个人有一个快乐值,如果这个人参加了聚会,那么这个人的直 ... 
