在Android中,广播(broadcast)是非常有用的功能。通过广播可以通知其他广播接受这某个事件发生了。比如电源不足,信号不好等。下面我做了一个简单的demo,首先看看activity

package com.android.broadcasttest;  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 BroadcastTest extends Activity {     public static final String NEW_LIFEFORM_DETECTED =          "com.android.broadcasttest.NEW_LIFEFORM";          /** Called when the activity is first created. */     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);                  Button btn0 = (Button)findViewById(R.id.btn0);         btn0.setOnClickListener(new OnClickListener() {             public void onClick(View v) {                 Intent it = new Intent(NEW_LIFEFORM_DETECTED);                           sendBroadcast(it);             }         });     } } 

在这个activity中生成了一个按钮,当按下按钮的时候通过sendBroadcast()发送一个广播。我们再看看广播接收者代码:

package com.android.broadcasttest;  import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.Toast;  public class MyBroadcastReceiver extends BroadcastReceiver {     public static final String BURN =         "com.paad.alien.action.BURN_IT_WITH_FIRE";          public MyBroadcastReceiver () {         Log.v("BROADCAST_TAG", "myBroadCast");     }     @Override     public void onReceive(Context context, Intent intent) {         // TODO Auto-generated method stub               Toast.makeText(context, "成功接收广播:", Toast.LENGTH_LONG).show();       }  } 

在onReceive()中实现了当接收到广播所做的动作。我们还需要在AndroidManifest.xml中注册该receiver

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"       package="com.android.broadcasttest"       android:versionCode="1"       android:versionName="1.0">     <application android:icon="@drawable/icon" android:label="@string/app_name">         <activity android:name=".BroadcastTest"                   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=".MyBroadcastReceiver">             <intent-filter>                 <action android:name="com.android.broadcasttest.NEW_LIFEFORM" />             </intent-filter>         </receiver>     </application>             <uses-sdk android:minSdkVersion="8" /> </manifest>  

在receiver的action中定义了该receiver能够接受的广播。

更多相关文章

  1. Android(安卓)UI之对话框(dialog)
  2. Android(安卓)studio 点击按钮跳转到新的Activity
  3. Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上
  4. android button按键得到焦点和点击后改变背景图片
  5. 拖动条SeekBar的简单使用
  6. Android(安卓)点击back键两次退出程序
  7. 自定义 RadioButton 图片
  8. Android监听系统通知
  9. android 按钮倒计时读秒

随机推荐

  1. android4.4 Launcher主菜单界面同样采用
  2. Android-给图片添加暗影
  3. Android中SQLite应用详解(很详细)
  4. Android(安卓)-- The Manifest File
  5. android代码库之执行Shell命令或者脚本
  6. Android中Activity组件详解
  7. Android(安卓)EditText截获与监听输入事
  8. Android(安卓)图片大小超过预算的VM:java.
  9. Android(安卓)TimeUtil
  10. android ACTION_BOOT_COMPLETED接收不到