本文主要是介绍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 应用程序安装卸载(安装应用宝后自动弹出卸载应用宝)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!