本程序主要实现一个广播接收器的功能,具体功能如下:
1. 在主界面上显示两个按钮,分别是“启动服务”和“发送广播”;
2. 启动服务按钮的点击事件为调用ServiceDemoActivity,该Activity继承于BaseActivity,在onCreate()方法中调用了startService()方法,启动了一个名为MyService的服务;
3. 发送广播按钮的点击事件为调用BroadCastMain类的sendBroadcast()方法。在Intent中设置了Action属性值为“com.lp.action.WELCOME_BROADCAST”,并且携带了一个键值对msg的参数值为“欢迎使用本系统”。最后通过调用sendBroadcast()方法将广播数据发送出去。
代码如下:
```java
package com.lp.ecjtu;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class BroadCastMain extends Activity {
private Button startBtn;
private Button sendBtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startBtn = (Button) findViewById(R.id.start);
startBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
//设置intent的Action属性
intent.setAction("com.lp.action.START_SERVICE");
//启动名为MyService的服务
startService(intent);
}
});
sendBtn = (Button) findViewById(R.id.send);
sendBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
//设置intent的Action属性和携带的参数值为“欢迎使用本系统”的消息参数值。
intent.setAction("com.lp.action.WELCOME_BROADCAST");
intent.putExtra("msg", "欢迎使用本系统");
//发送广播,使用intent发送一条广播。在广播接收器中可以获取到该广播的数据。并进行相应的处理。
sendBroadcast(intent);
}
});
}
} //结束函数定义 return null; }//结束函数定义```