android安卓广播的使用

本文详细介绍了Android中的广播机制,包括静态注册和动态注册的方式,并提供了具体的实现代码示例。通过这两种方式,开发者可以灵活地监听并响应特定类型的广播事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android的广播分为动态注册和静态注册两种情况

首先先说下静态注册

静态注册就是在xml进行注册 代码如下:

java代码部分:

package com.example.tt;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;


public class simidaReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Toast.makeText(context, "接收到广播信息了,然后我就被打印了", Toast.LENGTH_LONG).show();
	}

}


xml代码部分:

 

 <receiver android:name="simidaReceive">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>

当然还需要一个权限:

  <uses-permission android:name="android.permission.RECEIVE_SMS" />


这样就完成了一个广播的静态注册,在系统接收到短信时候会提示一个Toast信息。

效果如下:

 

动态注册:

java代码部分:

	@Override
	protected void onStart() {
		//在onStart注册广播,和程序一起运行
		receive = new simidaReceive();
		IntentFilter filter = new IntentFilter(
				"android.provider.Telephony.SMS_RECEIVED");
		registerReceiver(receive, filter);
		super.onStart();
	}

	@Override
	protected void onStop() {
		//在onStop取消广播接收
		unregisterReceiver(receive);
		super.onStop();
	}


 

静态注册将会驻留在系统中,随着系统启动而启动,一直工作。如果没有必要,我推荐使用动态注册的方式来注册广播,这样将会节省系统资源和电量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值