广播简单学习Demo
package com.amaker.broadcast;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 1,点击按钮发送一个广播
* 2,注册广播时有两种注册:一,在配置文件中静态注册 二、在代码中动态注册
* 注意:注册方法写在:onResume里面,注销方法写在:onPause里面
*
*/
public class MainActivity extends Activity {
private Button btn_send;
public static final String MY_ACTION = "com.amaker.broadcast.MY_ACTION";
MyReceiver r = new MyReceiver();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_send = (Button) findViewById(R.id.button1);
btn_send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
send();
}
});
}
//发送一个广播
void send(){
Intent intent = new Intent(MY_ACTION);
String msg = "我给你发了一个广播,是否收到?";
intent.putExtra("msg", msg);
sendBroadcast(intent);
}
//动态注册广播
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(MY_ACTION);
registerReceiver(r, filter);
}
//注销广播
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(r);
}
}
package com.amaker.broadcast;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
//收到广播,简单Toast显示一下
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
}
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amaker.broadcast"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 先把这个静态的注册注释掉 -->
<!--<receiver android:name="MyReceiver">
<intent-filter>
<action android:name="com.amaker.broadcast.MY_ACTION"/>
</intent-filter>
</receiver> -->
</application>
</manifest>
分享到:
相关推荐
本示例项目“安卓广播学习的demo”主要涵盖了三种类型的广播:显式广播、隐式广播和本地广播,旨在帮助开发者深入理解广播机制。 1. 显式广播: 显式广播是通过指定接收者的类名来发送的。发送者知道确切的接收者是...
**Android BLE 广播官方示例详解** ...通过这个示例,开发者可以学习如何构建BLE广播包,启动广播,以及如何在另一设备上扫描并处理这些广播。了解和掌握这些知识,对于开发BLE相关应用至关重要。
"广播接受者demo"是一个用于教学目的的应用程序示例,它展示了如何创建和使用广播接收者。 广播接收者的基本概念: 1. **注册**:广播接收者有两种注册方式:静态注册和动态注册。静态注册在AndroidManifest.xml...
通过这个简单的Demo,你可以学习到如何在Android应用中发送和接收广播,以及如何处理广播事件。这在很多场景下非常有用,比如在后台接收消息推送、监听设备状态变化等。不过,注意不要滥用广播,因为过多的广播可能...
通过分析这个BroadcastDemo项目,我们可以深入学习广播的原理和实践应用。 首先,我们需要了解广播的基本概念。在Android中,广播分为两种类型:系统广播和自定义广播。系统广播是由系统或系统服务发出的,如设备...
这个名为"Android学习demo大集合"的资源包,显然旨在帮助开发者深入理解和实践Android应用开发的关键概念。它涵盖了从基础到进阶的多个方面,包括SQLite数据库、多媒体处理、网络通信、多线程、广播机制和服务等。...
通过学习这个Demo,开发者不仅可以了解到如何在豆瓣上实现图文广播的发送,还能加深对API交互、网络编程、认证机制等基础知识的理解,对于想要扩展豆瓣功能或进行类似项目开发的人来说,这是一个宝贵的资源。
综上所述,“N7000R广播demo”为开发者提供了一个实践和学习Android广播机制的实例,通过对BroadcastReceiver的运用,开发者可以实现应用对系统事件或自定义事件的实时响应,提升应用的交互性和功能多样性。
在这个"广播Demo分享"中,我们将深入探讨动态广播的实现,以及如何通过提供的压缩包进行学习和实践。 首先,我们要理解什么是广播。在Android中,广播是系统或应用间通信的一种方式,允许发送者无需知道接收者的...
此外,还可以学习到如何在特定条件下过滤广播,以及如何在广播接收器中处理接收到的数据,进一步提升对Android广播机制的理解。 总之,Android广播是实现跨组件通信的重要手段,理解和熟练掌握广播机制对于Android...
这个"AppWidget学习demo"是一个实例,帮助开发者理解如何创建和管理AppWidgets。 首先,创建AppWidget需要以下几个关键组件: 1. **AppWidgetProvider**: 这是AppWidget的核心类,继承自BroadcastReceiver。它监听...
这个“springcloud全家桶学习demo”应该是为了帮助学习者全面了解和掌握 Spring Cloud 的各个组件和工作流程而创建的示例项目。 首先,我们来分解一下 Spring Cloud 的主要组件: 1. **Eureka**:服务注册与发现,...
在本“RabbitMQ学习案例Demo”中,我们将深入探讨RabbitMQ的四种基本通信模式:发布/订阅、点对点、应答以及广播,并结合.NET平台进行实践。 1. **发布/订阅模式(Publish/Subscribe)** 在这种模式下,生产者...
【Android UDP广播 Demo 知识点详解】 ...这个UDP广播Demo为开发者提供了一个基础的实践模型,通过学习和理解这些代码,可以更好地运用到实际项目中,例如智能家居设备的配对、局域网内的游戏通信等场景。
本入门学习demo旨在帮助初学者快速上手SpringCloud,体验其核心功能,并通过实际运行了解其工作原理。 1. **Spring Cloud Config**:这是SpringCloud的一个关键组件,用于实现分布式系统的配置管理。它支持配置...
5. **Demo的实现流程**: - 用户在`Activity`中设置警报参数,如触发时间、重复频率等。 - `Activity`通过`AlarmManager`设置警报,并创建一个`PendingIntent`,这个`PendingIntent`会在指定时间被触发,启动`...
"Android基础学习Demo及总结文档"是一个非常实用的学习资源,它结合了实际的编程练习和理论知识的总结,帮助开发者快速掌握Android开发的核心概念。以下将对Android Studio的使用、Android基础以及相关的控件UI效果...
总的来说,这个"Android 广播、服务、对话框直接交互demo"提供了一个实际的案例,展示了如何利用Android的这些核心组件来实现一个实时数据更新并通知用户的系统,这对于理解和学习Android应用开发中的多组件协作是...
在`springboot-rabbitmq-demo`项目中,你可以找到每个模式的具体实现,包括生产者类、消费者类以及相关的配置。通过运行这个示例,你可以更好地理解这三个模式的工作原理,并学习如何在实际项目中使用它们。 总结,...
通过这个完整的Android入门Demo,开发者不仅可以学习到基础控件的使用,还能理解服务和广播的机制,掌握Android应用开发的核心概念。实践中不断练习,将有助于提升Android编程技能,为成为专业开发者奠定坚实基础。