`
wangxinasy
  • 浏览: 19389 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Android 在程序中删除程序包

阅读更多
Install and Uninstall Android applications with PackageInstaller
This is actually very simple.

See PackageInstaller code here:http://android.git.kernel.org/?p=platform/packages/apps/PackageInstaller.git;a=tree;h=refs/heads/donut;hb=refs/heads/donut

Intent filters for such actions are:

<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>
so if you want to install your .apk file from SD card – just write something like that:

String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);
for uninstallation:

Uri packageURI = Uri.parse("package:com.android.myapp");
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
be aware that by default INSTALL_NON_MARKET_APPS option is disabled. You may want to check this option and show user friendly dialog before trying to install the app:

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);
}
enjoy
  • 大小: 6.1 KB
分享到:
评论

相关推荐

    android程序快捷方式的创建和删除(包含部分应用级操作)

    包含android的快捷方式创建和删除、多线程断线续传、获取应用列表、启动程序安装/卸载、好像还有一段邮件发送的代码,^_^吼吼~~ 写的不好的地方请见谅,这只是当初的一个练手demo

    解决Android studio Error:(30, 31) 错误: 程序包 不存在的问题

    尝试了将library 的包名重新命名、先删除,然后添加进来; 试了很多办法,当然都没有用,最后搜索才发现是和混淆有关,于是将library 的混淆关闭,再编译就ok ,如下: buildTypes { release { minifyEnabled ...

    Android移动应用开发(第3版)卷Ⅰ基础篇 (Shane Conder, Lauren Darcey) PDF扫描版

    Shane Conder ShaneConder拥有丰富的开发经验,在过去的10年中,他把主要精力集中在移动和嵌入式开发领域,迄今已设计并开发了基于Android、iPhone、BREW、Blackberry、J2ME、Palm和WindowsMobile的诸多商业软件。...

    使用android快速开发框架afinal 开发android应用程序

    2、里面包含了一个orm框架,无需配置任何文件可以对android的sqlite进行增删改查操作。 3、里面包含了一个ioc框架,自动绑定android布局文件和代码的控件,同时支持对事件的绑定功能 4、里面包含了一个轻量级的http...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    android程序卸载apk

    在程序中处理卸载apk,我是在这个情况下用到的与大家共享:开始apk上线用的是debug签名,后我换了台电脑,导致打包再上线报签名不一致的问题.后采用数字证书签名并修改了游戏的主类包名.解决签名不一致的问题. 这样导致...

    android-nologs-plugin:从使用 Gradle 和 Android 新构建系统构建的 android 应用程序中删除日志

    在生产中删除 Android 日志的方法之一如下 if (BuildConfig.DEBUG) { Log.d("TAG", "Some log");}这很有效,但您必须始终添加额外的if语句。 另一种方法是使用以下 Proguard 规则删除日志: -assumenosideeffects ...

    Android_Toolkit_V1.4(Android开发工具集)

    本软件是一款轻捷的Android Java应用程序安装、调试工具,部分功能可以在google提供的Android SDK开发包里面的DDMS(Dalvik Debug Monitor Service (DDMS) Tool)找到官方的实现。DDMS功能很强大,但功能过于繁多,...

    android 聊天程序, 基于极光IM SDK.zip

    多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第...

    Android程序技术:ContentProvider.pptx

    Android 程序技术 本节课程内容:ContentProvider Uri(通用资源标识符 Universal Resource Identifer),代表数据操作的地址,每一个ContentProvider发布数据时都会有唯一的地址。 比如:content://(固定写法)+...

    android 实现手机通讯录代码

    android实现手机通讯录,参照手机中的通讯录软件,编写一个简单的通讯录程序,包括添加联系人、删除联系人、修改联系人、查询联系人等基本功能,每条记录至少包含联系人姓名和电话号码两个字段 。

    基于webview的android开发框架,主要用于viewparse生成的android程序.zip

    多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第...

    Android开发案例驱动教程 配套代码

    第3章 第一个Android程序 15 3.1 HelloAndroid 15 3.1.1 在Eclipse中创建项目 15 3.1.2 编写程序项目代码 17 3.1.3 运行HelloAndroid 18 3.1.4 Android工程目录 19 3.1.5 AndroidManifest.xml文件 21 3.2 ...

    Android-app.rar

    Android RecycleView+任意头尾布局+拖拽换位+拖拽删除demo Android sql练习合集 Android 仿12306 Android 优秀计步器 Android 体重计算源码 Android 使用Gallery_tabhost实现标签效果图源码 Android 例子源码根据CPU...

    精通ANDROID 3(中文版)1/2

    23.5.1 在Android搜索中使用操作键  23.5.2 使用应用程序特定的搜索上下文  23.6 资源  23.7 对平板电脑的意义  23.8 小结  第24章 文本到语音转换  24.1 Android中的文本到语音转换  24.2 使用语段...

    倒霉蛋 android程序,基于2.3.3 SDK开发.zip

    多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第...

    疯狂Android讲义源代码2

    我个人认为 ,李刚的疯狂android讲义 讲的比较详细的,还有两个实战项目,以下是与代码对应的本书目录 第1章 Android应用与开发环境 1.1 Android的发展和历史 1.1.1 Android的发展和简介 1.1.2 Android平台架构...

    android 通讯录查询,修改,删除,增加

    本程序主要是操作通讯录的,包括增删改查,删除,和修改通讯录后,会刷新ListView

    android 备忘录小程序

    压缩包包含整个备忘录程序工程,实现了侧滑菜单删除和置顶功能,备忘录内容除了文字内容还添加了照相和选择相片的功能。

Global site tag (gtag.js) - Google Analytics