`
wangxinasy
  • 浏览: 19803 次
  • 性别: 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应用程序开发,特别是针对手机通信录的实现。这个项目旨在创建一个功能齐全的通信录应用,用户可以添加、删除、编辑联系人,查看联系人列表,以及直接拨打电话和发送短信给...

    Android通讯录小程序.rar

    5. **Android权限**:访问通讯录需要在AndroidManifest.xml文件中声明相应的权限,例如`&lt;uses-permission android:name="android.permission.READ_CONTACTS" /&gt;` 和 `&lt;uses-permission android:name="android....

    15个android小程序

    在Android开发领域,掌握一些基础且实用的小程序是提升技能的关键步骤。以下是对标题"15个Android小程序"以及描述中提及的知识点的详细解析: 1. **Intent**: Intent是Android系统中的一个核心概念,它用于启动或...

    Android记事本程序代码

    在Android平台上,开发一个记事本程序涉及到许多关键知识点,这些知识点主要涵盖用户界面(UI)设计、数据存储以及应用程序的逻辑结构。本项目“Android记事本程序代码”提供了一个学习和实践这些技能的机会。 首先...

    Android 通讯录程序附源码

    在Android平台上,开发一个通讯录程序是常见的任务,它涉及到用户界面设计、数据管理以及与系统服务的交互。本资源提供了两个完整的Android通讯录程序的源码,这为开发者提供了宝贵的参考和学习材料。我们将围绕以下...

    Android版短信 筛选/批量删除 程序(支持Android2.3~ 4.4)

    在Android平台上,开发一个短信筛选和批量删除程序是一项常见的需求,尤其对于那些经常接收大量信息的用户来说。本文将深入探讨如何为Android 2.3到4.4版本的设备构建这样的应用程序,涵盖的主要知识点包括Android ...

    android 简单的数据库程序

    本篇文章将深入探讨如何在Android中创建一个简单的数据库程序,包括增加和删除数据的操作。 首先,Android系统支持SQLite数据库,这是一个轻量级的关系型数据库,非常适合移动设备使用。SQLite数据库无需单独的...

    基于android的个人日记本程序(Sqlite数据库).zip

    在日记本程序中,添加、编辑和删除日记的流程可能涉及多条SQL语句,因此可以包裹在一个BEGIN...COMMIT或BEGIN...ROLLBACK事务中。 总结来说,这个基于Android的个人日记本程序巧妙地融合了SQLite数据库、Java编程和...

    Android程序源码--记事本

    "Android程序源码--记事本"是一个典型的Android项目,它包含了一个简单的记事本应用程序的完整源代码,可以帮助开发者深入理解Android应用的构建过程、UI设计、数据存储以及事件处理等核心概念。 首先,这个项目的...

    8个android小程序源码

    在Android开发领域,源码是学习和提升技术能力的重要资源。这个压缩包包含了8个Android小程序的源码,为开发者提供了宝贵的参考资料。每个程序都包含了详细的注释,可以帮助初学者理解代码逻辑,对于有一定经验的...

    Android studio Android寄存系统,登录注册,增删改查,sqlite

    在Android开发中,Android Studio是官方推荐的集成开发环境(IDE),它为开发者提供了丰富的工具和功能,使得创建复杂的Android应用程序变得更加便捷。SQLite是一个轻量级的数据库管理系统,被广泛应用于移动设备,...

    Android通讯录程序+源代码工程+国际化处理

    Android通讯录程序是一个典型的Android应用示例,它展示了如何在Android平台上构建一个功能齐全的联系人管理应用。该程序的核心功能包括添加、删除、查询和修改联系人的信息,这些功能的实现离不开Android系统提供的...

    android记事本程序

    在Android平台上,开发一款记事本程序涉及到许多关键知识点,这些技术涵盖了移动应用开发的各个方面。从标题"android记事本程序"和描述"自己编写的android记事本程序,半年了,分享给大家"我们可以推测,这是一个...

    基于android的花费记账程序

    在Android系统中,SQLite被广泛用于持久化应用程序的数据,记账应用利用SQLite来保存用户的账目记录,包括日期、金额、类别、备注等信息。 为了使其他应用程序能够访问和操作这些数据,本程序还运用了Content ...

    android 记事本程序

    在Android平台上开发一个记事本程序,是学习移动应用开发的常见起点,尤其对于初学者来说,它提供了一个理解Android SDK、布局设计以及数据存储基础的良好机会。这个“android 记事本程序”就是一个典型的实例,其...

    com.android.vend.zip

    包是 Android 平台中处理 OBB 文件的关键组件,它使得开发者能够在不增加 APK 大小的情况下,提供包含丰富内容的应用。通过理解 OBB 文件的结构、存储位置以及如何在应用中集成和使用,开发者可以充分利用这一功能,...

    android多进程通信二

    在Android应用开发中,一个应用程序默认运行在一个单独的进程中,但有时我们需要创建多个进程来实现特定功能,比如隔离资源消耗大的服务或者提高组件的安全性。在这种情况下,就需要掌握有效的多进程通信方法。 **1...

    Android相册程序,包含所有源代码

    在Android平台上,开发一款相册程序是一项常见的任务,尤其是一款具备加密功能的相册程序,它为用户提供了安全存储私人照片的途径。本项目名为"Android相册程序,包含所有源代码",提供了完整的源码,使开发者可以...

    android greenDao jar包

    Android的GreenDao是一个高效、轻量级的对象关系映射(ORM)框架,专门设计用于处理Android应用程序中的数据存储。在Android开发中,ORM工具能够极大地简化数据库操作,将Java对象直接映射到SQLite数据库表,避免了...

    在Android中对MySQL的增删改查功能

    在Android开发中,数据库的管理是至关重要的,尤其是在构建具有持久化数据存储需求的应用时。本项目专注于在Android环境中实现对远程MySQL数据库的增删改查(CRUD)操作,结合了MySQL数据库、PHP服务器端脚本以及...

Global site tag (gtag.js) - Google Analytics