android 监听安装来源_Android编程监听APK安装与删除等过程的方法

本文实例讲述了Android编程监听APK安装与删除等过程的方法。分享给大家供大家参考,具体如下:

软件下载后的一系列动作监听:先前是通过Service监听扫描获取状态,以后用这个方法测试使用

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.widget.Toast;

public class getBroadcast extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){

Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();

}

else if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){

Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();

}

/* else if(Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())){

Toast.makeText(context, "有应用被改变", Toast.LENGTH_LONG).show();

}*/

else if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())){

Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();

}

/* else if(Intent.ACTION_PACKAGE_RESTARTED.equals(intent.getAction())){

Toast.makeText(context, "有应用被重启", Toast.LENGTH_LONG).show();

}*/

/* else if(Intent.ACTION_PACKAGE_INSTALL.equals(intent.getAction())){

Toast.makeText(context, "有应用被安装", Toast.LENGTH_LONG).show();

}*/

}

}

package="zy.Broadcast"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

代码实现添加:

private final BroadcastReceiver apkInstallListener = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){

System.out.println("**************Broadcase*************");

File file = uninstallApk.get(isDeleted);

System.out.println(file.toString()+"*****");

file.delete();

//System.out.println(uninstallApk.size()+"(*******"+uApks.size());

if(uninstallApk!=null&&uApks!=null)

{

uninstallApk.remove(isDeleted);

uApks.remove(isDeleted);

}

//清除集合里面的值

if(uninstallApk!=null)

{

System.out.println("onpause******"+uninstallApk.size());

uninstallApk.clear();

}

if(uApks!=null)

{

uApks.clear();

}

System.out.println("******应用添加***"+isDeleted);

Toast.makeText(context, "有应用被添加"+isDeleted, Toast.LENGTH_LONG).show();

}

else if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){

System.out.println("*****应用被删除");

Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();

}

/* else if(Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())){

Toast.makeText(context, "有应用被改变", Toast.LENGTH_LONG).show();

}*/

else if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())){

System.out.println("****应用被替换");

Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();

}

/* else if(Intent.ACTION_PACKAGE_RESTARTED.equals(intent.getAction())){

Toast.makeText(context, "有应用被重启", Toast.LENGTH_LONG).show();

}*/

/* else if(Intent.ACTION_PACKAGE_INSTALL.equals(intent.getAction())){

Toast.makeText(context, "有应用被安装", Toast.LENGTH_LONG).show();

}*/

}

};

// 注册监听

private void registerSDCardListener(){

IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);

intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);

intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);

intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);

intentFilter.addDataScheme("package");

registerReceiver(apkInstallListener, intentFilter);

}

java里的调用 registerSDCardListener()

@Override

protected void onDestroy()

{

super.onDestroy();

//unregisterReceiver(apkInstallListener);

}

希望本文所述对大家Android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值