Android中 广播发送 和 接受 的简单示例

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcast"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.broadcast.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.example.BROADCAST"/>
            </intent-filter>
        </receiver>
    </application>

</manifest>

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <Button
        android:id="@+id/sendbroad"
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:text="发送广播"/>
</RelativeLayout>

MainActivity

package com.example.broadcast;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    private Button sendbt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendbt = (Button) findViewById(R.id.sendbroad);

        sendbt.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction("com.example.BROADCAST");
                intent.putExtra("msg", "这是广播发送的消息");
                sendBroadcast(intent);
            }
        });

    }

}

MyReceiver

package com.example.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) {
        Toast.makeText(context, "接收到的Intent的Action位:"+intent.getAction()+"\n消息内容是:"+intent.getStringExtra("msg"),Toast.LENGTH_LONG).show();
    }
}

效果如图

时间: 2024-11-29 03:22:38

Android中 广播发送 和 接受 的简单示例的相关文章

Android中广播的发送BroadcastReceiver

之前在进行Android开发的过程中,由于某些原因,对android中广播的注册等相关知识进行了回顾及总结.也查看了相关源码及写demo验证.发现对广播的认识更深了一层.下面将所学进行记录,以备随时查看. 这些内容在网上也参考了他人的博客,相关链接如下: [1].基于源码分析的系统发送广播的流程:http://blog.csdn.net/zhangyongfeiyong/article/details/52022935 (很详细,推荐) [2].静态注册无法接收广播的问题:http://blog

Android中广播接收者BroadcastReceiver详解

1. 接收系统的广播步骤 (1)  新建一个类继承BroadcastReceiver 以监听sd卡状态的广播接收者为例 1 public class SdCardBroadcastReceiver extends BroadcastReceiver { 2 3 @Override 4 public void onReceive(Context context, Intent intent) { 5 String action = intent.getAction(); 6 if("android

Android 自定义广播发送和接收

android系统会发送许多系统级别的广播,比如屏幕关闭,电池电量低等广播.同样应用可以发起自定义“由开发者定义的”广播.广播是从一个应用内部向另一个应用发送消息的途径之一. BroadcastReceiver是一个可以监听和响应广播的组件.本文中,我们将会演示如何发送自定义广播以及如何通过编程和使用Manifest文件定义一个BroadcastReceiver来监听这一广播.我们最后只要调用sendBroadcast就可以发送广播信息了. 1,编写MyReceiver,MyReceiver代码

Android中android-async-http开源网络框架的简单使用

android-async-http开源网络框架是专门针对Android在Apache的基础上构建的异步且基于回调的http client.所有的请求全在UI线程之外发生,而callback发生在创建它的线程中,应用了Android的Handler发送消息机制. android-async-http的特点:(这段摘自网络) Make asynchronous HTTP requests, handle responses in anonymous callbacks 进行异步HTTP请求,处理响

Android中pull解析XML文件的简单使用

首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式 看代码: XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>孙洋洋</name

Android中使用Notification实现进度通知栏(示例三)

我们在使用APP的过程中,软件会偶尔提示我们进行版本更新,我们点击确认更新后,会在通知栏显示下载更新进度(已知长度的进度条)以及安装情况(不确定进度条),这就是我们今天要实现的功能.实现效果如下: 在代码实现功能前,我们先解释进度条的两种状态: (1)显示一个已知长度的进度条指示器(Displaying a fixed-duration progress indicator) 为了能够显示一个确定的进度条,通过调用setProgress() setProgress(max, progress,

Android中广播的简单使用

//注册本地广播接受者 LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getActivity()); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("test"); BroadcastReceiver mReceiver = new BroadcastReceiver() { @Overr

android中广播的使用

广播消息机制用于进行系统级别的消息通知,每个应用程序可以对感兴趣的广播进行注册,并且将接收广播的方法定义在广播接收器中(Broadcast). 广播可以分为标准广播和有序广播. 注册广播的方法可以动态注册(在代码中进行注册)和静态注册(在清单文件中注册) 我们也可以发布自己定义的广播,并接收. 1.动态注册 动态注册的过程: 1)先自己定义一个广播接收者,继承Broadcast.重写onReceive()方法. 2)创建IntentFilter类,并添加要收听的广播. 3)创建自定义的广播接收者

Android中 广播BroadcastReceiver

一.IP拨号器 activity_main.xml文件: 只有一个输入ip的文本框和一个保存按钮, <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_h