在Android安装卸载程序的源码中我们知道:
< activity android:name=".PackageInstallerActivity">
< intent-filter>
< action android:name="android.intent.action.VIEW" />
< category android:name="android.intent.category.DEFAULT" />
< data android:scheme="content" />
< data android:scheme="file" />
< data android:mimeType="application/vnd.android.package-archive" />
< /intent-filter>
< /activity>
< activity android:name=".UninstallerActivity">
< intent-filter>
< action android:name="android.intent.action.VIEW" />
< action android:name="android.intent.action.DELETE" />
< category android:name="android.intent.category.DEFAULT" />
< data android:scheme="package" />
< /intent-filter>
< /activity>
因为根据里面的权限我们可以 从sd卡安装一个程序:
String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive");
//或者
//intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);
Android安装卸载程序的操作中要想卸载一个程序;
Uri packageURI = Uri.parse("package:com.android.myapp");
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
默认是不支持安装非市场程序的 因此判断一下
int result = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);
if (result == 0) {
// show some dialog here
// ...
// and may be show application settings dialog manually
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);
startActivity(intent);
}
分享到:
相关推荐
在Android系统中,应用卸载器是一个用于帮助用户便捷地管理手机上安装应用程序的工具。本文将深入探讨“Android应用卸载器源码”的相关知识点,包括Android应用的基本结构、卸载过程、权限管理以及源代码分析。 ...
通过监控系统的日志输出,即Logcat,这个源码提供了一种方法来检测并阻止应用程序被卸载。现在,我们将深入探讨这个主题,理解其背后的原理和实现。 **Logcat基础知识** Logcat是Android系统中的一个核心工具,用于...
在Android系统中,静默安装(Silent Installation)和卸载(Silent Uninstallation)是指在用户无感知的情况下,通过编程方式对应用进行安装或卸载的操作。这通常需要设备具有root权限,或者应用程序被内置为系统...
在Android系统中,安装和卸载应用程序是用户日常操作的一部分,但有时开发者或者系统管理员需要在没有用户交互的情况下执行这些操作,这就是所谓的“静默安装”和“智能安装”。静默安装通常用于批量部署应用,而...
在安卓(Android)操作系统中,程序的安装、卸载和更新是用户与系统交互的重要环节。这些过程涉及到了系统的包管理器服务(Package Manager Service)、应用程序框架层(Application Framework Layer)以及Linux内核...
在Android系统中,为了满足特定的安全需求,有时需要限制用户安装或卸载应用程序。这个需求可以通过自定义系统服务实现,特别是在Android 9.0(Pie)版本中。本篇文章将详细解析如何创建并使用接口来控制第三方APK的...
【Android 卸载器源码】是一款专为安卓(Android)平台设计的应用程序卸载工具的源代码。这款源码提供了完整的功能实现,包括工程文件,使得开发者可以深入理解其工作原理并进行二次开发或定制化修改。接下来,我们...
**PackageManagerService**是Android系统的核心组件之一,负责处理所有与应用程序相关的安装、卸载和管理任务。具体来说,它包括以下几个方面的工作: 1. **建立Socket连接**:建立Java层的installer与C层的...
- **ADB命令行工具**:用于与模拟器或连接到计算机的真实设备进行通信,可以执行shell命令、安装/卸载应用等操作。 - **LogCat日志工具**:用于查看设备上的日志信息,帮助开发者定位问题。 ### 四、新特性详解 ...
在Android平台上,应用程序管理器是用户与系统交互的重要工具,用于控制和管理手机上安装的各种应用。本项目“android简单的应用程序管理器”旨在提供一个基本的解决方案,让用户能够轻松地运行和卸载应用程序。以下...
在深入理解Android应用安装的机制前,我们先来解析一下与之相关的几个关键概念:包管理器(PackageManager)、广播接收器(BroadcastReceiver)以及Intent过滤器(IntentFilter)。这些组件共同作用于应用的生命周期...
本实例源码"Android应用源码之监听自身被卸载.zip"提供了一个具体的实现方式,通过解析描述和标签,我们可以推测这是一个用于教学和学习的Android应用设计案例,它涵盖了Android应用的生命周期管理和自定义广播接收...
它是Android系统服务的一部分,允许应用程序访问和操作其他已安装的应用程序的元数据。例如,你可以获取应用的名称、版本信息、权限、图标等。下面是一些主要的使用场景: 1. **查询应用信息**:通过调用`...
在Android操作系统中,`PackageInstaller`是核心组件之一,它负责处理APK应用的安装、升级和卸载等任务。这个组件是Android系统的核心服务,它使得用户可以通过各种方式(如通过Google Play或其他第三方市场、通过...
在Android系统中,用户经常需要安装和卸载应用程序(APK文件),这一过程对于系统的稳定性和用户体验至关重要。本文将深入探讨Android系统中APK卸载的流程及其背后的源代码实现。 #### 二、APK卸载流程概述 当用户...
Installer类提供了多种操作方法,例如install()方法用于安装应用,idmap()用于创建与目标应用包相关的映射,moveFiles()用于移动文件等。 PMS的启动还会涉及到解析系统配置,调用SystemConfig.getInstance(),以及...
`PackageManagerService`是Android系统中的核心组件之一,负责管理所有应用程序的安装、卸载、升级等操作,同时也是系统权限管理和应用资源查询的关键服务。本文旨在深入剖析`PackageManagerService`的源代码,揭示...
这个工具是Android SDK的一部分,允许开发者执行各种任务,包括安装和卸载应用程序、传输文件、运行 shell 命令以及进行设备调试。在华为设备上,由于特定的安全策略和定制化系统,ADB的使用可能会有所不同。 标题...
在Android系统中,将应用程序安装至system/app目录下,使其成为系统级应用,是一项高级操作,主要用于开发者在进行ROM定制、应用预装或是系统级调试时。以下将深入解析这一过程,涵盖技术背景、实现步骤及注意事项。...
`PackageManager`是Android系统的一个关键组件,它提供了获取、安装、卸载应用等操作的接口。我们可以通过`getInstalledPackages()`方法获取所有已安装的应用程序包信息。 4. **PackageInfo**: 当调用`...