Android系列之广播

来源:互联网 发布:爱国治民能无知乎 编辑:程序博客网 时间:2024/05/20 08:24

思维导图:


代码实例:

一、首先自己创三个项目,一个发送者,两个接受者。

发送者:

xml布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.zking.laci.android21_broadcast.MainActivity"    android:orientation="vertical"    >    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/et_broadcast_main"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="发送"        android:onClick="send"        /></LinearLayout>

java类:

package com.zking.laci.android21_broadcast;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends AppCompatActivity {    private EditText et_broadcast_main;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_broadcast_main = (EditText) findViewById(R.id.et_broadcast_main);    }    public void send(View view){        String content=et_broadcast_main.getText().toString();        Intent i=new Intent();        //设置广播的名字        i.setAction("com.zking.laci.android21_broadcast.FM90.5");        //设置广播内容        i.putExtra("content",content);        sendBroadcast(i);    }}

发送者:

新创一个类:

package com.zking.laci.android21_test1;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;/** * Created by Laci on 2017/7/11. */public class MyReceive01 extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        //收消息        //得到广播的名字        String name=intent.getAction();        if(name.equals("com.zking.laci.android21_broadcast.FM90.5")){            //得到广播的内容            String content=intent.getStringExtra("content");            Log.i("test","我是1号接收者"+content);        }    }}

在AndroidManifest中设置接收:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.zking.laci.android21_test1">    <application android:allowBackup="true" android:icon="@mipmap/ic_launcher"        android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true" android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <!--配置广播接收者        静态(清单文件中配置)        动态(java代码中配置)        -->        <receiver android:name=".MyReceive01">            <intent-filter>                <action android:name="com.zking.laci.android21_broadcast.FM90.5"></action>            </intent-filter>        </receiver>    </application></manifest>

然后这样就可以啦!












原创粉丝点击