利用Intent监听应用程序的安装、替换、删除...

相关的Intent:

 
Intent.ACTION_PACKAGE_INSTALL
 
Intent.ACTION_PACKAGE_ADDED
 
Intent.ACTION_PACKAGE_REPLACED
 
Intent.ACTION_PACKAGE_REMOVED
 
Intent.ACTION_PACKAGE_CHANGED
 
Intent.ACTION_PACKAGE_RESTARTED
 
Intent.ACTION_PACKAGE_DATA_CLEARED

 

AndroidManifest.xml中配置

<receiver android:name=".MyInstalledReceiver"
	android:enabled="true">
	
	<intent-filter>
				
     		<action android:name="android.intent.action.PACKAGE_ADDED"></action>

		<action android:name="android.intent.action.PACKAGE_CHANGED"></action>

		<action android:name="android.intent.action.PACKAGE_REMOVED"></action>

		<action android:name="android.intent.action.PACKAGE_REPLACED"></action>
		<action android:name="android.intent.action.PACKAGE_RESTARTED"></action>

		<action android:name="android.intent.action.PACKAGE_INSTALL"></action>
		<data android:scheme="package"></data>
			
	</intent-filter>
		
</receiver>


 或者在程序中动态注册

receiver = new PackageBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
filter.addDataScheme("package");
registerReceiver(receiver, filter);


 示例代码

public class MyInstalledReceiver extends BroadcastReceiver {

	public void onReceive(Context context, Intent intent) {
			String action = intent.getAction();
			if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
				Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();
			} else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
				Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();
			}
	}

}


 

 

Android系统中可以通过监听广播来实现对蓝牙耳机事件的监听,其中最常用的广播是android.intent.action.MEDIA_BUTTON。 当用户按下蓝牙耳机上的按钮时,系统会发送此广播,应用程序可以通过注册广播接收器来接收此广播并执行相应的操作。 以下是一个简单的示例代码,演示如何注册广播接收器以监听蓝牙耳机事件: ``` public class BluetoothHeadsetReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_MEDIA_BUTTON)) { KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); if (event != null && event.getAction() == KeyEvent.ACTION_DOWN) { // 处理耳机按钮按下事件 // ... } } } } ``` 在上述代码中,我们创建了一个广播接收器BluetoothHeadsetReceiver,并在其中实现了onReceive方法。当收到android.intent.action.MEDIA_BUTTON广播时,我们从Intent中获取键事件,并判断是否为按下事件。如果是按下事件,则可以执行相应的操作。 最后,我们需要在Activity或Service中注册广播接收器,如下所示: ``` BluetoothHeadsetReceiver receiver = new BluetoothHeadsetReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON); registerReceiver(receiver, filter); ``` 在上述代码中,我们创建了一个BluetoothHeadsetReceiver对象,并将其注册为广播接收器,同时指定了要监听的广播类型为android.intent.action.MEDIA_BUTTON。 这样,我们就可以通过注册广播接收器来监听蓝牙耳机事件,实现一些类似音乐播放器暂停、继续等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值