发送标准广播

来源:互联网 发布:美白水知乎 编辑:程序博客网 时间:2024/04/30 00:52

在发生广播之前,需要先定义一个广播接收器

import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubToast.makeText(context, "接收到广播", 5).show();}}

这里当MyBraodcastReceiver接收到自定义的广播时,就会弹出“接收到广播“”。然后在AndroidManifest.xml对这个广播进行注册:

<application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <receiver android:name="com.sqm.MyBroadcastReceiver">            <intent-filter >                <action android:name="com.sqm.broadcasttest"/>            </intent-filter>        </receiver>

下面是我的布局文件

<?xml version="1.0" encoding="utf-8"?><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"    android:orientation="horizontal">    <Button         android:layout_width="200dip"        android:layout_height="50dip"        android:id="@+id/send"        android:layout_centerInParent="true"        android:text="发送广播"        android:gravity="center"/></RelativeLayout>  

然后是MainActivity

import android.support.v7.app.ActionBarActivity;import android.support.v7.app.ActionBar;import android.support.v4.app.Fragment;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.Toast;import android.os.Build;public class MainActivity extends ActionBarActivity {private IntentFilter intentFilter;private NetworkChangeReceiver networkChangeReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                Button bt=(Button) findViewById(R.id.send);        bt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent("com.sqm.broadcasttest");sendBroadcast(intent);}});                /*intentFilter=new IntentFilter();        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");                networkChangeReceiver=new NetworkChangeReceiver();        registerReceiver(networkChangeReceiver, intentFilter);*/    }    



0 0