首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 播音的使用

2013-07-08 
android 广播的使用在Activity中,注册广播的一个Demo。总共分3步第一步:定义一个BroadcastReceiver广播接收

android 广播的使用

在Activity中,注册广播的一个Demo。

总共分3步

第一步:定义一个BroadcastReceiver广播接收类:

private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){?
??????? @Override?
??????? public void onReceive(Context context, Intent intent) {?
??????????? String action = intent.getAction();?
??????????? if(action.equals(ACTION_NAME)){?
??????????????? Toast.makeText(Test.this, "处理action名字相对应的广播", 200);?
??????????? }?
??????? }?
?????????
??? };?

?

第二步:注册该广播:

public void registerBoradcastReceiver(){?
??????? IntentFilter myIntentFilter = new IntentFilter();?
??????? myIntentFilter.addAction(ACTION_NAME);?
??????? //注册广播???????
??????? registerReceiver(mBroadcastReceiver, myIntentFilter);?
??? }?

?

第三步:触发响应

mBtnMsgEvent = new Button(this);?
??????? mBtnMsgEvent.setText("发送广播");?
??????? mBtnMsgEvent.setOnClickListener(new OnClickListener() {?
??????????? @Override?
??????????? public void onClick(View v) {?
??????????????? Intent mIntent = new Intent(ACTION_NAME);?
??????????????? mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");?
?????????????????
??????????????? //发送广播?
??????????????? sendBroadcast(mIntent);?
??????????? }?
??????? });?
?????

?

?

-----最后附上完整代码:

package my.yaner;?

import android.app.Activity;?
import android.content.BroadcastReceiver;?
import android.content.Context;?
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;?
import android.widget.LinearLayout;?
import android.widget.Toast;?
?
public class Test extends Activity{?
??? private final String ACTION_NAME = "发送广播";?
??? private Button mBtnMsgEvent = null;?
?????
??? protected void onCreate(Bundle savedInstanceState){?
??????? super.onCreate(savedInstanceState);?
?????????
??????? //注册广播?
??????? registerBoradcastReceiver();?
?????????
??????? LinearLayout mLinearLayout = new LinearLayout(this);?
??????? mBtnMsgEvent = new Button(this);?
??????? mBtnMsgEvent.setText("发送广播");?
??????? mLinearLayout.addView(mBtnMsgEvent);?
??????? setContentView(mLinearLayout);?
?????????
??????? mBtnMsgEvent.setOnClickListener(new OnClickListener() {?
??????????? @Override?
??????????? public void onClick(View v) {?
??????????????? Intent mIntent = new Intent(ACTION_NAME);?
??????????????? mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");?
?????????????????
??????????????? //发送广播?
??????????????? sendBroadcast(mIntent);?
??????????? }?
??????? });?
??? }?
?????
??? private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){?
??????? @Override?
??????? public void onReceive(Context context, Intent intent) {?
??????????? String action = intent.getAction();?
??????????? if(action.equals(ACTION_NAME)){?
??????????????? Toast.makeText(Test.this, "处理action名字相对应的广播", 200);?
??????????? }?
??????? }?
?????????
??? };?
?????
??? public void registerBoradcastReceiver(){?
??????? IntentFilter myIntentFilter = new IntentFilter();?
??????? myIntentFilter.addAction(ACTION_NAME);?
??????? //注册广播???????
??????? registerReceiver(mBroadcastReceiver, myIntentFilter);?
??? }?
}?

热点排行