android 应用程序安装卸载(安装应用宝后自动弹出卸载应用宝)

2024-08-21 02:38

本文主要是介绍android 应用程序安装卸载(安装应用宝后自动弹出卸载应用宝),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获取程序安装卸载广播

电脑上有腾讯管家,作为安卓开发,用真机测试的比较多,鄙人算一个,不喜欢用应用宝,当你卸载了应用宝之后,插上USB,有时候就回静默安装应用宝,然后弹出应用宝获取什么什么权限,特别烦

手机在没有安装应用宝之前,开发一点问题也没有,手机也没有问题,静默安装后,好多天的周期手机会自动重启,死机等情况

今天又死机了一次,决定做一个当应用宝安装后弹出卸载框的程序  来提示我们卸载这个可恶的应用宝,我用的是华为3x

 

接收安装&卸载广播

package com.yqy.app;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.widget.Toast;public class SetupLisenerReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// 接收安装广播if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {String packageName = intent.getDataString();
//			Toast.makeText(context, "安装了:" + packageName + "包名的程序",
//					Toast.LENGTH_SHORT).show();// 安装了:package:com.tencent.android.qqdownloader包名的程序if (packageName.equals("package:com.tencent.android.qqdownloader")) {Uri packageURI = Uri.parse(packageName);Intent uninstallIntent = new Intent(Intent.ACTION_DELETE,packageURI);// Receiver中使用startActivity 必须加上FLAG_ACTIVITY_NEW_TASKuninstallIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 在Receiver中尽量少使用startActivity 但是此功能必须这样context.startActivity(uninstallIntent);}}// 接收卸载广播if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
//			String packageName = intent.getDataString();
//			Toast.makeText(context, "卸载了:" + packageName + "包名的程序",
//					Toast.LENGTH_SHORT).show();}}}

 

mainfest注册广播

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.yqy.app"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="18" /><uses-permission android:name="android.permission.INTERNET" />  <uses-permission android:name="android.permission.RESTART_PACKAGES"/>  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.yqy.app.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><receiver android:name=".SetupLisenerReceiver"  android:label="@string/app_name">   <intent-filter>  <action android:name="android.intent.action.PACKAGE_ADDED" />  <action android:name="android.intent.action.PACKAGE_REMOVED" />  <data android:scheme="package" />  </intent-filter>  </receiver>  </application></manifest>


广播接收器的注释写的很清楚,不仅试用于应用宝,同样适用于任何我们安卓开发者讨厌那些静默安装程序

资源下载地址android 应用程序安装卸载(卸载应用宝)

这篇关于android 应用程序安装卸载(安装应用宝后自动弹出卸载应用宝)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091888

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到