我做的launcher里面在用户快捷卸载应用的时候要提示用户,系统的应用不能卸载。那么,怎么样判断这个应用是属于系统的呢?我的做法是这样的:
private boolean isDefaultApplication(String packageName) {
boolean flag = false;
boolean isDefault = false;
PackageManager pckMan = mLauncher.getPackageManager();
List<PackageInfo> packs = pckMan.getInstalledPackages(0);
int count = packs.size();
for (int i = 0; i < count && !flag; i++) {
PackageInfo p = packs.get(i);
ApplicationInfo appInfo = p.applicationInfo;
if (packageName.equals(appInfo.packageName)) {
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0) {
isDefault = true;
}
flag = true;
}
}
return isDefault;
}
其中
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0){
//系统应用
}else{
//用户安装的
}
我是参考了这儿的一片文章:http://www.cnblogs.com/mengshu-lbq/archive/2010/09/09/1822237.html,里面有更详细的方法!
分享到:
相关推荐
在Android平台上,获取已安装应用的信息是开发过程中常见的需求,这可以帮助我们构建各种功能,比如应用管理、推荐系统或是分析用户行为。本文将详细讲解如何通过编程方式获取Android设备上已安装应用的包名、应用...
在Android开发中,获取系统已安装的应用是一项常见的需求,这通常涉及到系统API的使用和UI组件的自定义。本文将详细讲解如何实现这个功能,并通过一个自定义ListView的实例进行说明。 首先,我们需要理解Android...
Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...
本文将详细介绍如何在Android应用中获取已安装程序列表的方法。 #### 二、获取Android已安装程序列表 在Android系统中,获取已安装程序列表通常涉及到对`PackageManager`类的使用。此API提供了访问包信息的功能,...
在Android系统中,获取应用程序列表信息是开发过程中常见的需求,比如构建应用管理界面或实现某些特定功能。以下将详细介绍如何通过编程方式实现这四个主要目标: 1. **Android中获取所有应用程序列表信息** 要...
在Android系统中,获取已安装应用的信息是一项常见的需求,这对于开发者进行系统分析、管理或调试应用都至关重要。本文将详细讲解如何通过编程方式获取Android设备上已安装的apk信息,包括应用图标、应用名称、工程...
在Android系统中,这些权限是严格控制的,一般的应用程序无法直接获取。但通过特定的技术手段,开发者可以尝试在未root的设备上实现这些功能。本文将详细介绍如何在Android应用中获取系统权限并修改系统时间。 首先...
它是Android系统服务的一部分,允许应用程序访问和操作其他已安装的应用程序的元数据。例如,你可以获取应用的名称、版本信息、权限、图标等。下面是一些主要的使用场景: 1. **查询应用信息**:通过调用`...
在Android系统中,获取所有应用程序信息是开发过程中常见的需求,比如构建应用管理界面或实现自定义功能。这个过程涉及到对Android系统的深入理解,特别是对`PackageManager`类的使用。`PackageManager`是Android...
在Android系统中,获取已安装应用程序的基本信息是开发者经常需要进行的操作,这有助于了解设备上有哪些应用以及它们的元数据。以下将详细讲解如何获取这些信息,包括应用程序的Activity和服务等核心组件。 首先,...
在Android开发中,获取系统所有应用程序列表并实现点击启动应用是一项常见的需求,这通常涉及到对Android系统的应用管理和Intent机制的理解。下面将详细讲解这个过程。 首先,我们需要理解Android权限。在...
在Android系统中,获取所有已安装的应用程序以及实现联网自动检测更新是移动应用开发中的常见需求。这通常涉及到系统API的使用、网络编程以及后台任务处理。以下将详细阐述这一过程涉及的关键知识点。 1. **获取已...
本篇文章将深入探讨如何在Android应用程序中获取修改系统时间的权限,并提供相关源码分析。 首先,我们需要理解Android权限系统。Android采用的是基于权限的访问控制模型,每个应用都有自己的沙箱环境,互不干扰。...
在Android系统中,获取已下载应用列表是许多开发者在构建自定义Launcher或者需要与系统应用交互时必须掌握的一项技能。这个过程涉及到对Android系统的API调用以及权限管理。以下将详细解释如何实现这一功能。 首先...
本文将详细讲解如何在Android系统中获取应用程序的权限列表,并针对日志记录中使用的"jishen" TAG进行讨论。 1. **权限模型概述** Android的权限模型基于声明式权限,开发者在应用的AndroidManifest.xml文件中声明...
"可以提取已安装应用文件的应用程序管理器"就是这样一款专门针对Android系统的实用工具,其主要功能在于帮助用户获取到应用程序的内部文件和资源。 在Android平台上,每个应用程序都是一个独立的APK(Android ...
在Android平台上,获取手机上已安装应用列表是开发者经常需要进行的操作,这有助于实现各种功能,比如应用管理、推荐关联应用或分析用户设备状态。本文将深入探讨如何使用AppManager来实现这一目标,并提供相关代码...
在Android开发中,获取手机中所有已安装应用的信息是一项常见的需求。这可以帮助我们构建各种功能,比如应用管理器、应用推荐系统或者个性化设置。在这个场景下,我们将详细讲解如何实现这个功能,包括如何获取应用...
在本文中,我们将深入探讨如何进行Android应用程序开发,特别是针对手机通信录的实现。这个项目旨在创建一个功能齐全的通信录应用,用户可以添加、删除、编辑联系人,查看联系人列表,以及直接拨打电话和发送短信给...
在Android操作系统中,管理并展示手机上已安装的应用程序是一个常见的需求,这通常涉及到系统级别的API调用和数据处理。本篇文章将深入探讨如何利用Android的API来获取这些信息,并通过Adapter这一核心组件来结构化...