PackageManager pkgManager = mContext.getPackageManager();
// 需要system权限
PackageDeleteObserver observer = new PackageDeleteObserver(currVirus, 1);
pkgManager.deletePackage(pakName, observer, 0);
private class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
private int position;
private int mFlag;
public PackageDeleteObserver(int index, int flag) {
position = index;
mFlag = flag;// 0卸载1个包,1卸载N个包 N>1
}
@Override
public void packageDeleted(String arg0, int arg1)
throws RemoteException {
// TODO Auto-generated method stub
//arg0是pakname,arg1是具体没了解,卸载成功后这里是1
LLog.e("###packageDeleted +++" + arg0 + "---" + arg1);
Message msg;
msg = mHandle.obtainMessage();
msg.what = FLAG_DELETE_VIRUS;
msg.arg1 = position;
msg.arg2 = mFlag;
msg.sendToTarget();
}
}
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
分享到:
相关推荐
在Android系统中,静默卸载指定包名的APP是指在用户无感知的情况下,通过编程方式卸载某个应用程序。这通常需要系统级别的权限或者设备管理器的特殊权限才能实现。以下将详细介绍如何进行静默卸载操作,并探讨相关...
在“Android应用卸载器”中,我们可能会看到一个主活动(Activity)负责显示应用列表,以及相关的辅助类和方法来处理卸载操作。 其次,Android应用的卸载过程涉及到系统级别的操作。在用户选择卸载应用时,Android...
首先,要获取Android设备上的全部应用,需要使用Android提供的Content Provider,具体是`PackageManager`类。这个类提供了获取安装在设备上所有应用信息的方法,例如`getInstalledPackages()`。通过这个方法,我们...
在上面的代码中,`getUninstallIntentForPackage`方法接收一个应用的包名作为参数,返回用于卸载该应用的Intent。然后,我们通过`startActivity`启动这个Intent,从而触发系统的卸载流程。 然而,对于预装应用...
在Android中,`PackageManager`也可以用来动态地安装、卸载APK,这在某些需要热更新或者模块化开发的场景下十分有用。`VariableApp`可能指的是这种可变的应用结构,其中不同的功能模块可以独立更新。 - **...
这个接口有两个方法:`installApk`用于安装APK,`uninstallPackage`用于卸载指定包名的应用。 2. **实现服务端** 创建一个服务类`ApkManagerService`,实现`IApkManager`接口,并处理安装和卸载的逻辑。注意,在...
本"Android系统应用卸载demo"正是针对这种情况设计的,它提供了一种方法来卸载那些常规手段无法移除的系统应用。 在Android中,卸载应用涉及到以下几个关键知识点: 1. **Root权限**:Root权限是Android系统的超级...
该方法需要传入待卸载应用的包名作为参数,并可以设置一个回调监听卸载过程。 批量卸载意味着我们需要处理多个应用的卸载。这可以通过循环遍历一个包含目标应用包名的列表来实现。在每次迭代中,调用`deletePackage...
卸载则可以通过`PackageManager`的`deletePackage()`方法实现,传入包名即可静默卸载。 二、Android 10.0的权限调整 从Android 10开始,系统对静默安装和卸载进行了权限限制。现在,只有具有`MANAGE_EXTERNAL_...
Android的PackageManager服务是系统的核心组件之一,它负责管理应用程序的安装、卸载以及应用信息的查询等操作。在Android系统中,PackageManager涉及到的主要知识点包括: 1. **`PackageManager` 类**: `...
在Android系统中,`PackageManager`是一个非常重要的服务组件,它负责管理手机上所有安装的应用程序。通过`PackageManager`,开发者可以获取到应用的基本信息,包括应用的名称、图标、版本号、权限等,并且能够实现...
因此,如果应用包含一个卸载触发服务,可以在服务中监听到应用即将卸载的信号,例如通过监听包管理器(PackageManager)的事件,然后执行相应的逻辑,如删除数据库、清理缓存、发送卸载通知等。 在文件名 ...
【Android 卸载器源码】是一款专为安卓(Android)平台设计的应用程序卸载工具的源代码。这款源码提供了完整的功能实现,包括工程文件,使得开发者可以深入理解其工作原理并进行二次开发或定制化修改。接下来,我们...
`PackageManager`是Android系统的一个核心组件,它负责管理设备上的所有应用,包括安装、卸载、查询应用信息等操作。要获取应用程序的大小,我们需要获取到应用的`PackageInfo`对象,其中包含了应用的基本信息,如...
这两个方法接收一个整型参数`mode`,表示名单类型(黑名单或白名单),以及一个字符串数组`appPackageNames`,包含允许或不允许安装或卸载的应用程序包名。 - `setAppInstallationPolicies(mode, appPackageNames)`...
在Android系统中,PackageManagerService(PMS)是负责管理应用包信息的核心服务之一。它主要处理系统中所有与应用包相关的任务,比如安装、卸载应用,查询应用信息等。PMS在系统启动过程中扮演着重要角色,同时也...
在Android应用开发中,管理应用的安装和卸载通常涉及到对Android系统API的深入理解,尤其是与`PackageManager`服务相关的接口。例如,`getInstalledPackages()`用于获取已安装的应用列表,`deletePackage()`用于卸载...
总结来说,通过Android的`PackageManager`服务,开发者可以轻松地获取设备上的所有应用、系统应用、第三方应用以及满足特定条件的应用列表。在实际开发中,可以根据需要对这些信息进行过滤和处理,以实现各种功能。...
【Android应用源码安卓应用游戏卸载器项目】是一个针对Android平台的开源项目,主要功能是提供一个方便的用户界面,允许用户卸载手机上的应用程序和游戏。通过分析这个项目,我们可以深入理解Android系统的应用程序...
例如,通过Java或Kotlin代码调用`PackageInstaller`或`PackageManager`的相关方法来实现静默安装和卸载。此外,还可以编写Python脚本来批量处理多个APK的安装和卸载任务。 对于更高级的应用,开发者可能需要监听APK...