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

相关文章

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作