问题: 
在应用开发中遇到需要这样的需求:在用户下载我们的应用安装之后删除安装包。 
解决: 
android会在每个外界操作APK的动作之后发出系统级别的广播,过滤器名称: android.intent.action.package_ADDED, 
android.intent.action.PACKAGE_REMOVED, 
需要注意点的是在涉及到存储卡状态改变的时候必须添加

  1. <data android:scheme="package" >

我们要做的就是在应用AndroidManifest中注册静态广播,并在自定义的广播里处理相应的逻辑:

  1. <receiver
  2. android:name="com.example.testdeleteapk.receiver.InitApkBroadCastReceiver"
  3. android:enabled="true" >
  4. <intent-filter>
  5. <action android:name="android.intent.action.PACKAGE_ADDED" />
  6. <action android:name="android.intent.action.PACKAGE_REPLACED" />
  7. <action android:name="android.intent.action.PACKAGE_REMOVED" />
  8. <data android:scheme="package" />
  9. </intent-filter>
  10. </receiver>

这样,在应用安装成功后就会接受到相应的广播。广播定义如下:

  1. package com.example.testdeleteapk.receiver;
  2.  
  3. import Java.io.File;
  4. import android.content.BroadcastReceiver;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.os.Environment;
  8.  
  9. public class InitApkBroadCastReceiver extends BroadcastReceiver {
  10.  
  11. @Override
  12. public void onReceive(Context context, Intent intent) {
  13.  
  14. if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
  15. system.out.println("监听到系统广播添加");
  16.  
  17. }
  18.  
  19. if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
  20. System.out.println("监听到系统广播移除");
  21.  
  22. }
  23.  
  24. if (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) {
  25. System.out.println("监听到系统广播替换");
  26.  
  27. }
  28. }
  29.  
  30. }

Android 应用安装成功之后删除apk文件的更多相关文章

  1. Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式

      相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...

  2. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

    相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...

  3. Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式

    from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...

  4. [Android]使用platform密钥来给apk文件签名的命令

    1.使用platform密钥对apk进行签名 1.1.进入<Android_Source_Path>/build/target/product/security,找到[platform.p ...

  5. Android 编程下通过 zipalign 对 APK 文件进行优化

    zipalign zipalign is an archive alignment tool that provides important optimization to Android appli ...

  6. Android开发学习之反编译APK文件

    反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/d ...

  7. windows下PHP批量生成打包android程序APK-渠道txt植入apk文件

    服务器安装php环境 下载 android-sdk-windows  下载JDK 1.打开zip支持 c:/windows/php.ini ,打开 exec 2.apk 支持mime添加 .apk a ...

  8. android从IIS/asp.net下载apk文件

    解决步骤: 1.web.config中 <configuration>  <configSections> ...    <section name="rewr ...

  9. android 广播安装指定下载的apk

    // 广播出去,由广播接收器来处理下载完成的文件   Intent sendIntent = new Intent("com.test.downloadComplete");    ...

随机推荐

  1. codevs2833 奇怪的梦境

    2833 奇怪的梦境  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Aiden陷入了一个奇怪的梦境:他被困 ...

  2. 通过git向github提交项目

    按顺序学习 https://www.cnblogs.com/forget406/p/6045499.html#top https://blog.csdn.net/xiaoputao0903/artic ...

  3. JAVA经典题--死锁案例

    死锁原理: 两个线程相互等待对方释放同步监视器 例子程序: public class TestDeadLock implements Runnable { public int flag = 1; s ...

  4. Linux:SSH连接原理

    1,SSH开启 2,执行:ssh username@ip地址 例如ssh root@10.1.1.1 3,查看cat ./ssh/kown_hosts 里面就保存了10.1.1.1的公钥了 4,对比一 ...

  5. 第一节:初识pandas之Series(上)

    Series线性的数据结构, 也是一个一维数组. 声明:本人Python小白,以下代码只是个人学习的过程,仅仅记录一下学习的点点滴滴,若有错误,还望指正. (注:该代码均在jupyter notebo ...

  6. Django-cookie与session操作

    添加cookie: def login(req): if req.method=="POST": uf = UserInfoForm(req.POST) if uf.is_vali ...

  7. 团体程序设计天梯赛-练习集L1-006. *连续因子

    L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数字.例如630 ...

  8. 【转】How Many Boyfriends

    如果一个女人遇到不同星座男的概率相同 那么这个女人期望遇到多少个男人就能集齐12个不同星座的男人 我们简化一下问题. 如果只有一个星座,那么期望值为1 如果只有两个星座,那遇到第一个男人后 期望再遇到 ...

  9. Android第三方开源下拉框:NiceSpinner

     Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...

  10. 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)

    子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...