Android APK安装完成自动删除安装包

2023-11-10

 

需要实现此功能,一般实际开发是在自动版本更新上,当更新完开始自动安装完毕后,删除内存卡里的安装包。实现方式很简单,监听应用广播,获取内存卡下的文件,删除!
1、监听广播
[java]  view plain  copy
  1. package com.example.a75213.testdownloaddemo;  
  2.   
  3. import android.content.BroadcastReceiver;  
  4. import android.content.Context;  
  5. import android.content.Intent;  
  6. import android.widget.Toast;  
  7.   
  8. import com.example.a75213.testdownloaddemo.contant.comm;  
  9.   
  10. /** 
  11.  * Created by 75213 on 2017/11/7. 
  12.  */  
  13.   
  14. public class InitApkBroadCastReceiver extends BroadcastReceiver {  
  15.     @Override  
  16.     public void onReceive(Context context, Intent intent) {  
  17.   
  18.         if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {  
  19.             comm.rmoveFile("http://imtt.dd.qq.com/16891/7C7BB50B68B684A36339AF1F615E2848.apk");  
  20.             Toast.makeText(context , "监听到系统广播添加" , Toast.LENGTH_LONG).show();  
  21.         }  
  22.   
  23.         if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {  
  24.             comm.rmoveFile("http://imtt.dd.qq.com/16891/7C7BB50B68B684A36339AF1F615E2848.apk");  
  25.             Toast.makeText(context , "监听到系统广播移除" , Toast.LENGTH_LONG).show();  
  26.             System.out.println("");  
  27.         }  
  28.   
  29.         if (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) {  
  30.             comm.rmoveFile("http://imtt.dd.qq.com/16891/7C7BB50B68B684A36339AF1F615E2848.apk");  
  31.             Toast.makeText(context , "监听到系统广播替换" , Toast.LENGTH_LONG).show();  
  32.         }  
  33.     }  
  34. }  
2、记得给删除权限和广播注册【AndroidMainifest】
[html]  view plain  copy
  1. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
  2. <receiver  
  3.             android:name=".InitApkBroadCastReceiver"  
  4.             android:enabled="true">  
  5.             <intent-filter>  
  6.                 <action android:name="android.intent.action.PACKAGE_ADDED" />  
  7.                 <action android:name="android.intent.action.PACKAGE_REPLACED" />  
  8.                 <action android:name="android.intent.action.PACKAGE_REMOVED" />  
  9.   
  10.                 <data android:scheme="package" />  
  11.             </intent-filter>  
  12.         </receiver>  
 
3、删除工具类
[html]  view plain  copy
  1. package com.example.a75213.testdownloaddemo.contant;  
  2.   
  3. import android.os.Environment;  
  4.   
  5. import java.io.File;  
  6.   
  7. /**  
  8.  * Created by 75213 on 2017/11/1.  
  9.  */  
  10.   
  11. public class comm{  
  12.     public static File getPathFile(String path){  
  13.         String apkName = path.substring(path.lastIndexOf("/"));  
  14.         File outputFile = new File(Environment.getExternalStoragePublicDirectory  
  15.                 (Environment.DIRECTORY_DOWNLOADS), apkName);  
  16.         return outputFile;  
  17.     }  
  18.   
  19.     public static void rmoveFile(String path){  
  20.         File file = getPathFile(path);  
  21.         file.delete();  
  22.     }  
  23. }  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android APK安装完成自动删除安装包 的相关文章

  • 是否可以在 Spring Batch 中结合分区和并行步骤?

    我只是想知道它在 Spring Batch 中可行吗 Step1Step2 流程 gt 流程1 流程2 流程3 Step3 其中每个flow1 gt 划分为 5 个 GridSizeflow2 gt 划分为 5 个 GridSizeflow
  • java中的csv到pdf文件

    我正在尝试获得一个csv文件解析为pdf 到目前为止我所拥有的内容附在下面 我的问题是这段代码最终出现在 pdf 中的文件在 csv 文件的第一行被截断 我不明白为什么 附示例 本质上我想要一个没有任何操作的 csv 文件的 pdf 版本
  • Google 地图查询返回的 JSON 包含像 \x26 这样的编码字符(如何解码?)

    在 Java 应用程序中 我获取 JSON 来自 Google 地图 其中包含以下字符 x26我想将其转换为其原始字符 据我所知 这是一个 UTF 8 表示法 但我不完全确定 在源 JSON 中 可能会出现各种编码字符 例如 x3c div
  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 通过 InjectMocks Spy 注入对象

    我需要对一个类运行一系列单元测试 该类具有 Autowired Logger 实现 实现的基本思想是 Mock Logger logger InjectMocks TestedClass tested 但我想保存日志输出功能 Mockito
  • 如何将 Spotlight for Help 插入本地化的 macOS 应用程序?

    我正在 macOS 上使用 Swing GUI 框架实现 Java 应用程序 当使用system外观和感觉以及screen菜单栏 Swing 自动插入一个搜索栏 called 聚光灯寻求帮助 https developer apple co
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 如何将 XMP XML 块序列化为现有的 JPEG 图像?

    我有许多 JPEG 图像 其中包含损坏的 XMP XML 块 我可以轻松修复这些块 但我不确定如何将 固定 数据写回图像文件 我目前正在使用 JAVA 但我愿意接受任何能让这项任务变得容易的事情 这是目标关于 XMP XML 的另一个问题
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • 在 Selenium WebDriver 上如何从 Span 标签获取文本

    在 Selenium Webdriver 上 如何从 span 标记检索文本并打印 我需要提取文本UPS Overnight Free HTML代码如下 div id customSelect 3 class select wrapper
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public

随机推荐

  • Text to image论文精读MISE:多模态图像合成和编辑Multimodal Image Synthesis and Editing: A Survey

    由于信息在现实世界中以各种形式存在 多模态信息之间的有效交互和融合对于计算机视觉和深度学习研究中多模态数据的创建和感知起着关键作用 近期 OpenAI 发布的 DALLE 2 和谷歌发布的 Imagen 等实现了令人惊叹的文字到图像的生成效
  • 「经验分享」一款PCB电路板设计要经历哪些流程?

    一款PCB电路板设计主要包括明确产品需求 硬件系统设计 器件选型 PCB绘制 PCB生产打样 焊接调试等步骤 那么这些步骤都有哪些需要注意点呢 小编带你细品 一定要细品 一 明确需求 在一个硬件设计之初 首先要做的是明确产品的需求 这里主要
  • BMP文件格式详解(BMP file format)

    BMP文件格式 又称为Bitmap 位图 或是DIB Device Independent Device 设备无关位图 是Windows系统中广泛使用的图像文件格式 由于它可以不作任何变换地保存图像像素域的数据 因此成为我们取得RAW数据的
  • 【SIMULINK】基于DQ0模型的三相异步电机自制仿真模型教程

    SIMULINK 基于DQ0模型的三相异步电机自制仿真模型 其实 打开simscape自带的异步电机模型 里面也是基于DQ0的 电机的模型定子电压作为输入 定子电流是输出 内部结构 omega 1 是DQ坐标系的转速 为0时退化为 alph
  • 计算机是人类的好伴侣 作文,书是我们的好伴侣_我和书的故事作文

    书 大家是并不陌生的 它会让人陶醉享受 也会使人沉迷于此 总得来说 书 是我们的好伴侣 不管是休闲娱乐 还是读后写作都少不了它 说到我喜欢的书 我还是算得上是个小小小的 书迷 但是我最喜欢沈石溪所写的动物小说 内容精彩而又丰富 把这所有的动
  • Android性能分析和优化之traces.txt(ANR分析)

    ANR 类型分类 1 KeyDispatchTimeout 5 seconds 主要类型按键或触摸事件在特定时间内无响应 按键或者触摸引起的ANR的时间定于是在AMS中 static final int KEY DISPATCHING TI
  • C语言——文件操作

    C语言文件操作 使用文件的原因 文件 程序文件 数据文件 文件名 文件的打开和关闭 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 fseek ftell rewind 文本文件和二进制文件 文件读取结束的判定 文件缓冲区 使用
  • Python 入门习题

    如果下面代码有问题或者你有更好的实现方法欢迎与我私信 1 输入一个字符串 内容是带小数的实数 例如 123 45 输出是两个整数变量x和y x是整数部分123 y是小数部分45 你可以用split函数完成 str input L str s
  • iOS编程基础-OC(七)-运行时系统(续)

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 第7章 运行时系统 7 4 动态绑定 动态绑定 dynamic binding 是指在运行程序时 而不是在编译时 将消息与方法对应起来的处理过程 在运行程序和发送消息
  • Motionbuilder矩阵计算方式

    基本使用 对于类型为 FBModel 的对象 有 GetMatrix SetMatrix 方法来获取及设置其变换矩阵 GetMatrix pMatrix FBMatrix pWhat kModelTransformation pGlobal
  • SpringBoot 集成 Apollo 配置中心,一文搞定!(万字长文)

    由于 Apollo 概念比较多 刚开始使用比较复杂 最好先过一遍概念再动手实践尝试使用 1 背景 随着程序功能的日益复杂 程序的配置日益增多 各种功能的开关 参数的配置 服务器的地址 对程序配置的期望值也越来越高 配置修改后实时生效 灰度发
  • STM32操作增量式编码器(一)----使用外部中断实现测速

    1 编码器概述 这里对此不再详细说明 本博文重在如何使用编码器 有兴趣的同学可以去网上了解 或者参考一下博文 旋转编码器工作原理 2 增量式编码器控制思路 图2 1 编码器实物图 图2 2 编码器与MCU接线图 我们首先需要清楚编码器输出什
  • 【剑指Offer题解:java】从上往下打印二叉树

    题目 从上往下打印出二叉树的每个节点 同层节点从左至右打印 分析 初始化 一个队列Queue queue 将root节点入队列queue 如果队列不空 做如下操作 弹出队列头 保存为node 将node的左右非空子节点加入队列 做2 3步骤
  • Zimbra安装成功后,邮件发送失败!!急!!发生错误 (mail.TRY_AGAIN),原因不详。

    method unknown msg try again Unable to connect to the MTA code mail TRY AGAIN detail soap Receiver trace com zimbra cs m
  • Less-27and27a

    文章目录 1 思路分析 2 注入过程 3 27a 1 思路分析 这一关表上上告诉你他只是过滤了union和select 其实不然 function blacklist id id preg replace id strip out id p
  • MQ-2烟雾报警器

    MQ 2烟雾报警器 原理 MQ 2型烟雾传感器属于二氧化锡半导体气敏材料 属于表面离子式N型半导体 处于200 300摄氏度时 二氧化锡吸附空气中的氧 形成氧的负离子吸附 使半导体中的电子密度减少 从而使其电阻值增加 当与烟雾接触时 如果晶
  • 传输线阻抗理论

    一 理想元件阻抗特性 对于所有的理想元件 传输线 阻抗 为该导体两端的电压和流经该导体的电流的比值 一般包括阻抗 感抗和容抗的统称 电阻阻抗 电感感抗 电容容抗 显然 对于理想电感和电容 其阻抗和频率有关 理想电感器的阻抗随频率升高而增大
  • maven手动引入仓库文件操作

    捕获 jpg 一 idea打开maven命令窗口 在框里输入命令 mvn install install file DgroupId com elink web DartifactId jcifs Dversion 1 3 15 SNAPS
  • 【2021年全国大学生数学建模竞赛题】“生产企业原材料的订购与运输”详细解析(内附MATLAB代码)

    2021年全国大学生数学建模竞赛题 生产企业原材料的订购与运输 详细解析 内附MATLAB代码 文章目录 1 模型建立 1 1确定被评判对象的对象集及因素集 1 2确定各评价指标权重 1 3建立相对模糊及对因素的偏差加权平均 1 4根据Fj
  • Android APK安装完成自动删除安装包

    需要实现此功能 一般实际开发是在自动版本更新上 当更新完开始自动安装完毕后 删除内存卡里的安装包 实现方式很简单 监听应用广播 获取内存卡下的文件 删除 1 监听广播 java view plain copy package com exa