android 判断应用程序是否已安装

1、判断是否安装
/*
* check the app is installed
*/
private boolean isAppInstalled(Context context,String packagename)
{
PackageInfo packageInfo;        
try {
            packageInfo = context.getPackageManager().getPackageInfo(packagename, 0);
         }catch (NameNotFoundException e) {
            packageInfo = null;
            e.printStackTrace();
         }
         if(packageInfo ==null){
            //System.out.println("没有安装");
            return false;
         }else{
            //System.out.println("已经安装");
            return true;
        }
}

2、判断后的逻辑: (转自:http://ruixiazun.blog.163.com/blog/static/906879182013021115923732/)
//已安装,打开程序,需传入参数包名:"com.skype.android.verizon" 
if(isAvilible(this, "com.skype.android.verizon")){ 
                Intent i = new Intent(); 
                ComponentName cn = new ComponentName("com.skype.android.verizon", 
                        "com.skype.android.verizon.SkypeActivity"); 
                i.setComponent(cn); 
                startActivityForResult(i, RESULT_OK);    
            } 
//未安装,跳转至market下载该程序 
else { 
                Uri uri = Uri.parse("market://details?id=com.skype.android.verizon");//id为包名 
                Intent it = new Intent(Intent.ACTION_VIEW, uri); 
                startActivity(it); 
            }

时间: 2024-07-29 23:54:27

android 判断应用程序是否已安装的相关文章

【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 [java] view plaincopyprint? PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信

项目问题总结1:Nuget无法安装程序包dll,提示:此程序包已安装

问题描述: 我们在做项目的过程中免不了使用Nuget安装一些其他系统发布的dll,以完成我们的业务代码,但是在使用的过程中遇到一个问题,那就是因某些原因造成引用无效,其表现如下: 导致这种情况发生的原因很多,我现在要说的是其中 一种,那就是引用的dll被删除了,我们需要重新在Nuget里面进行安装,这时问题来了,当我们查找到想要的dll时,显示已经安装,如下图所示: 但是我们在已经安装的包里面进行查找,发现并没有,如下图所示 而且我们在解决方案的项目文件目录中也找不到目标dll,肿么办?明明没有

Android判断应用程序是否在前台

Android app中通过Broadcast Receiver接受Alarm的定时消息,以便发送Notification:这里发送Notification前要求app自身不在运行状态:检测app自身是否在前台的一个宗旨是:判断app所有的Activity是否有在前台的:在网上找了好长一段时间,发现一个个人觉得比较好的判定方法: public boolean isAppForground(Context mContext) { ActivityManager am = (ActivityMana

android 判断应用程序是系统程序还是用户程序

直接上代码: AppInfo.java <span style="font-size:18px;">package com.example.packages; public class AppInfo { private String packName; private boolean userApp; public String getPackName() { return packName; } public void setPackName(String packNa

Robot Framework 读取控制面板安装的程序,判断某个程序是否已经安装

wmic /output:D:\\DOAutomationTest\\automation_do_robotframework\\installList.txt product get name 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/11139788.html

android动态加载已安装apk中的方法

在android开发中,有很多时候是需要用到动态加载的,今天学习在android中动态加载已安装的apk中的方法. 首先,我们需要新建一个用来被加载的android工程,暂且给他取名叫做:plugproj 在plugproj中新建一个类Dynamic,在这个类中,我们新建一些方法,等会我们会分别在该工程安装和没有安装的情况下加载这些方法,Dynamic.java如下: package com.example.plugproj; import android.app.Activity; impor

android 查询手机已安装的第三方应用程序

1.获取手机上已安装第三方的应用的应用名称和包名并打印 private void queryFilterAppInfo() { PackageManager pm = this.getPackageManager(); // 查询所有已经安装的应用程序 List<ApplicationInfo> listAppcations = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES); Collections.s

Android中让应用程序自动安装到手机内存及判断应用程序是否安装在SDCard中

上次写了个widget程序,安装好后准备把它添加到手机主页上,发现窗口小部件中找不到我刚刚安装的那个widget,网上查资料才发现系统窗口小部件只能先加载扫描安装在内存的应用程序,把属于widget的APP显示到小部件列表上. 对于开发者来说,怎样才能让应用程序自动安装到手机内存中去呢? 在 Android2.2版本及之后,AndoridManifest.xml 中有一个属性: Android:installLocation ,可以通过设置这个属性的三个值 "auto" | "

android 非root机器如何备份已安装程序的apk

问题描述 想做一个能够备份已安装程序的apk程序,不知道已经安装过的程序,系统有没有保留一份安装文件,如果有路径在哪里? 解决方案1 LZ注意了    系统是不会帮你备份的(除非系统程序烧到rom的) 不过你的apk如果是下载的,就会在sd卡上,不删除的话会在的,但是删了就没了 另外你说的已经安装的apk,会在data/app下,数据在data/data下,这个我觉得没root是操作不了这个文件的,当然这个需要验证