android应用安装成功之后删除apk文件
来源:互联网 发布:论文表格数据来源 编辑:程序博客网 时间:2024/06/05 15:12
问题:
在应用开发中遇到需要这样的需求:在用户下载我们的应用安装之后删除安装包。
解决:
android会在每个外界操作APK的动作之后发出系统级别的广播,过滤器名称: android.intent.action.PACKAGE_ADDED,
android.intent.action.PACKAGE_REMOVED,
需要注意点的是在涉及到存储卡状态改变的时候必须添加
<data android:scheme="package" >
我们要做的就是在应用AndroidManifest中注册静态广播,并在自定义的广播里处理相应的逻辑:
- 1.
<receiver android:name="com.example.testdeleteapk.receiver.InitApkBroadCastReceiver" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter></receiver>
这样,在应用安装成功后就会接受到相应的广播。广播定义如下:
package com.example.testdeleteapk.receiver;import java.io.File;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Environment;public class InitApkBroadCastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) { System.out.println("监听到系统广播添加"); } if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { System.out.println("监听到系统广播移除"); } if (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) { System.out.println("监听到系统广播替换"); } }}
0 1
- android应用安装成功之后删除apk文件
- android应用安装成功之后删除apk文件
- [Android应用] 蓝牙分享apk安装文件
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android cmd adb命令安装和删除apk应用
- android adb命令安装和删除apk应用
- 安卓软件安装成功后通过广播-接收器删除apk文件
- android 6.0下载更新之后安装APK
- Java toString() method
- android中的category(调用系统工具等)
- 一种我喜欢的vim的配置
- Maven3 项目创建设置
- CheckedTextView
- android应用安装成功之后删除apk文件
- 在hibernate启动的时候报了个错: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
- 生命是一个长期而持续的积累过程
- 一些话语
- iOS 多线程的几种方法
- ubuntu sublime 等宽字体设置
- 通过Mybatis拦截器实现分页
- 使用springmvc后事物不起作用的原因
- #import、#include、@class、#import<> 、#import""的区别