`
wangxinasy
  • 浏览: 19457 次
  • 性别: 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的webview中实现websocket通信

    在使用 android-websockets 项目时,开发者需要在 Eclipse 中新建一个 Android 项目,然后将 WebSocketFactory.java 和 WebSocket.java 文件打包成 jar 文件,并将其存放在项目的 libs 目录下。然后,开发者需要将 ...

    Android程序技术:ContentProvider.pptx

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

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

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

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

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

    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权限大全

    Android权限是Android操作系统中的一种安全机制,用于控制应用程序对设备硬件和软件资源的访问权限。Android权限分为两大类:normal权限和dangerous权限。Normal权限是指一些基本的权限,例如访问网络、读取联系人...

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

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

    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 studio结课大作业

    本资料包只是针对大学开设Android studio课程,由以王英强老师编写的Android studio移动开发与设计,内含源码及安装包(apk)和实训报告,供大家学习参考!

    Android-app.rar

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

    基于Android的景点推荐系统的设计与实现中英文摘要.doc

    应用框架层提供了基本的应用程序框架,包括活动管理、视图系统、包管理等。库层提供了基本的库函数,包括数据存储、网络连接、图形处理等。Linux 内核层是 Android 系统的最底层,负责管理硬件资源,提供基本的操作...

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

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

Global site tag (gtag.js) - Google Analytics