`
04023129
  • 浏览: 161741 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Android开发片段–监控程序安装,修改,删除状态

 
阅读更多

java

package com.zzh.PackageReceiver;

import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class PackageReceiver extends BroadcastReceiver {

	private String TAG = "PACER";
	private static String  PACERSTATUS = "package:com.zzh.pacerstatus";

	@Override
	public void onReceive(Context context, Intent intent) {
		Log.d(TAG, "Receive SIP Action Responses is : " + intent.getAction());
		try {
			Log.d(TAG,"Receive SIP Action Responses is : " + intent.getAction());
			if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
				//Toast.makeText(context, "有应用被添加" + intent.getDataString(), Toast.LENGTH_LONG).show();
				Log.i("TAG", "有应用被添加" + intent.getDataString());
				if(PACERSTATUS.equals(intent.getDataString())) {
					StartPacerStatus(context);
				}
				
			} else if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
				//Toast.makeText(context, "有应用被删除" + intent.getDataString(), Toast.LENGTH_LONG).show();
				Log.i("TAG", "有应用被删除" + intent.getDataString());
				
			}
			/*
			 * 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, "有应用被替换" + intent.getPackage(), Toast.LENGTH_LONG).show();
				Log.i("TAG", "有应用被替换" + intent.getPackage());
			}
			/*
			 * 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(); }
			 */

		} catch (Exception e) {
			Log.d(TAG, "PhoneDaemonDemo UI application no start.");
		}
		
	}
	
	public void StartPacerStatus(Context context) {
		Log.i(TAG, "Service Start1");
		Intent serviceIntent = new Intent(Intent.ACTION_MAIN);
		serviceIntent.addCategory(Intent.CATEGORY_DEFAULT);
		ComponentName cn = new ComponentName("com.zzh.pacerstatus",
				"com.zzh.pacerstatus.initVersionService");
		serviceIntent.setComponent(cn);
		context.startService(serviceIntent);
		Intent serviceIntent1 = new Intent(Intent.ACTION_MAIN);
		ComponentName cn1 = new ComponentName("com.zzh.pacerstatus",
				"com.zzh.pacerstatus.VersionService");
		serviceIntent1.setComponent(cn1);
		context.startService(serviceIntent1);
		Log.i(TAG, "Service Start");
	}

}

AndroidManifest.xml

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <receiver android:name=".PackageReceiver" >
            <intent-filter >
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_REPLACED" />

                <data android:scheme="package" />
            </intent-filter>
        </receiver>
    </application>
 
分享到:
评论

相关推荐

    开始使用 Xamarin.Android 开发 Android 应用

    ### 开始使用 Xamarin.Android 开发 Android 应用 #### Xamarin.Android 概述 Xamarin.Android 是一个基于 .NET 的框架,允许开发者使用 C# 语言和 .NET Framework 构建高性能、原生的 Android 应用。它为开发者...

    Android 3D游戏开发技术宝典

    1. Android SDK与Eclipse/Android Studio环境搭建:介绍如何安装和配置开发者工具,包括JDK、Android SDK以及集成开发环境的选择和设置。 2. Android项目结构与生命周期:解析Android应用的基本构成,如Activity、...

    (基于android的毕业设计)远程健康监控App(源码+演示录像).zip

    该毕业设计项目是一款基于Android平台的远程健康监控应用程序,它集成了多项实用功能,旨在为用户提供全面的健康监护服务。以下是这个项目所涉及的主要技术点和功能实现的详细解析: 1. 定位功能:应用利用Android...

    snippets-android,firebase.google.com的android代码片段.zip

    【snippets-android】是Firebase.google.com为Android开发者提供的一个开源项目,主要目的是为了方便开发者理解和使用Firebase服务在...记住,使用这些代码片段时,一定要根据自己的项目需求进行适当的修改和调整。

    android studio开发app项目.docx

    - **代码模板和片段**:Android Studio内置了大量的代码模板和代码片段,可以快速生成常用的类、方法等,提高开发效率。 #### 六、运行和调试 - **模拟器和真机测试**: - 可以使用Android Studio自带的AVD ...

    安卓 海康威视开发文档与demo

    在数字化时代,智能监控系统已经成为了安全防护的重要组成部分,而海康威视作为全球领先的安防产品及解决方案提供商,其在Android平台上的SDK开发包为开发者提供了强大的工具,使我们能够在移动设备上实现远程监控、...

    Android Studio 3.5安装包

    `android-studio-ide-191.5977832-windows.exe` 是针对Windows平台的安装程序,下载后双击运行即可启动安装流程。安装过程中,用户可以选择自定义安装路径、是否创建桌面快捷方式以及是否添加系统路径等选项。安装...

    android-studio-ide-201.7042882-windows.zip

    本文将深入探讨Android Studio 201.7042882这一版本在Windows平台上的特性、安装过程以及如何利用它来构建高质量的Android应用程序。 一、Android Studio 201.7042882概述 该版本的Android Studio是基于IntelliJ ...

    Android手机安全卫士源码

    这个项目涵盖了Android应用程序开发的多个核心知识点,包括UI设计、数据存储、权限管理、系统服务、网络通信等多个方面。 1. **Android SDK与环境搭建**:首先,你需要熟悉Android SDK的安装与配置,以及使用...

    android ide 避免重新找

    在Android开发过程中,选择合适的集成开发环境(IDE)至关重要,Android Studio无疑是官方推荐且最广泛使用的工具。本文将深入探讨如何充分利用Android Studio,避免在开发过程中频繁查找解决方案,提高工作效率。 ...

    android 安装应用详解

    通过分析上述代码片段,我们可以看到Android系统如何利用`BroadcastReceiver`和`IntentFilter`来监控应用的生命周期事件。这种机制不仅限于应用的安装、卸载和替换,还可以扩展到其他系统级或应用级事件的通知,为...

    Professional Android 4 Application Development

    本书由Wrox出版社出版,旨在为开发者提供全面深入的Android 4应用程序开发指南。作者Reto Meier是Google的高级Android开发倡导者之一,拥有丰富的实战经验。本书不仅适合有经验的开发者,也适合初学者,它通过一系列...

    Android系统木马隐藏及检测技术

    其次,应用程序需要经过Android框架层的安全检查才能正常运行,包括安装时的权限请求、运行时的权限检查等。然而,这些机制并不能完全阻止恶意软件的攻击,尤其是在有root权限的情况下,恶意软件可以绕过大部分的...

    Android Dalvik虚拟机讲义

    ART采用了预编译(AOT, Ahead-Of-Time)方式,应用程序安装时就完成了全部代码的编译,运行时无需再进行JIT编译,提高了启动速度和运行效率。 4. **Dalvik优化** - **Dalvik字节码优化**: Dalvik虚拟机可以优化...

    教案Android常用代码集合.pdf

    在Android开发中,掌握一些常用的代码片段可以极大地提高开发效率,减少出错的可能性。下面将对上述提供的Android常用代码集合进行详细的解释和扩展。 1. **调用浏览器打开指定网址** 这段代码用于启动设备上的...

    Android Dalvik虚拟机操作码

    Android系统的核心之一是Dalvik虚拟机,它是Google专门为...了解并掌握Dalvik虚拟机的操作码,对于Android应用开发者来说,不仅可以提升程序的效率,还能更好地解决运行时可能出现的问题,是Android开发中的必备技能。

    Android从入门到精通+经典教程

    在Android开发领域,掌握基础知识和实践经验是至关重要的。"Android从入门到精通+经典教程"是一份详尽的资源,旨在帮助新手和有一定经验的开发者深入理解Android平台的各个方面。以下是一些关键知识点的概述: 1. *...

    Android常用代码集合.pdf

    2. **接收系统广播Intent,监控应用程序的安装、删除和替换** ```java public class GetBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if ...

Global site tag (gtag.js) - Google Analytics