安卓程序开发——广播应用,掌握Android 掌握广播BroadcastReceiver的应用,使用静态创建的方式创建一个MyBroadcastReceiver广播接收者,处理OnReceiver方法

一. 广播应用

1.1 实验目的

  掌握Android 掌握广播BroadcastReceiver的应用

1.2 实验步骤

1.创建一个Android 应用,练习静态创建广播的方法。

2.使用静态创建的方式创建一个MyBroadcastReceiver广播接收者,处理OnReceiver方法

3.另起一个应用练习动态创建广播的方法

4.使用动态创建的方式在MainActivity用代码创建一个广播,监听短信的发送,获取短信内容

1.3 实验代码

1、创建工程

2、使用静态创建的方式创建一个MyBroadcastReceiver广播接收者,处理OnReceiver方法:

在AndroidManifest.xml清单文件配置广播接收者

注意包名得改成自己的包名

3、在activity_main布局文件加入两个控件

实验效果

4、在MainActivity添加控件的初始化和点击事件的处理,并发送一条广播

至此静态创建广播已完成,部署过去看下效果

下面进行动态创建,另起一个应用

5、在MainActivity添加如下初始化代码,监听短信的内容

6、在AndroidManifest.xml清单文件添加接收短信的权限

7、至此,动态创建广播应用已完成,部署过去看下效果,然后在虚拟机发送一条短信,看看Logcat有没有打印短信的内容出来

1.4 实验总结

1.BroadcastReceiver

BroadcastReceiver即通信的一个手段, 系统自己在很多时候都会发送广播,比如电量低或者充足,刚启动完,插入耳机,输入法改变等,发生这些事件,系统都会发送广播,叫系统广播,每个APP都会收到如果你想让你的应用在接收到这个广播的时候做一些操作,比如:系统开机后,偷偷后台跑服务,这个时候只需要为你的应用注册一个用于监视开机的BroadcastReceiver我们也可以自己发广播,比如:接到服务端推送信息,用户在别处登录,然后应该强制用户下线回到登陆界面,并提示在别处登录

1.4.1存在问题

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,我可以为您提供一个简单的示例代码来创建一个使用静态注册广播接收器的 Android 应用程序: 1. 在 AndroidManifest.xml 文件中添加以下代码,以声明广播接收器: ``` <receiver android:name=".MyBroadcastReceiver" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /> </intent-filter> </receiver> ``` 2. 创建一个名为 MyBroadcastReceiver 的类,并继承 BroadcastReceiver,如下所示: ``` public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action != null) { if (action.equals(Intent.ACTION_BOOT_COMPLETED)) { // 处理开机启动广播 } else if (action.equals(Intent.ACTION_POWER_CONNECTED)) { // 处理电源连接广播 } else if (action.equals(Intent.ACTION_POWER_DISCONNECTED)) { // 处理电源断开广播 } } } } ``` 3. 在 MyBroadcastReceiver 类中实现您所需的广播接收处理逻辑。 4. 运行应用程序并测试广播接收器是否按预期工作。 注意:静态注册的广播接收器必须在应用程序的 AndroidManifest.xml 文件中声明,并且必须包含至少一个 intent-filter,以指定要处理广播类型。此外,由于 Android 8.0(API 级别 26)引入了后台执行限制,因此在 Android 8.0 及更高版本中,一些广播接收器需要在运行时进行动态注册才能正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杪商柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值