在mainActivity里相隔随机时间不断发送广播:一个tag和一个broadcast_value。
并在mainActivity里利用intent开启服务。
Oncreat()
{Intent intent=new Intent(this,MyService.class);
startService(intent);
New Thread(new MyLoopThread()).start();
}
这里MyloopThread是一个内部类,实现一个Runnable:
{
Intent intent=new Intent(BRODCAST);
intent.putExtra(BRODCAST_VALUE, num);
sendBroadcast(intent);
System.out.println("发送广播:"+num);
}
在这个线程里不断发送广播。
在MyService服务中,定义一个Receiver用于接受广播。
MyService extends Service
{
onStartCommand()
{
IntentFilter intentFilter = new IntentFilter(MainActivity.BRODCAST);
receiver=new MyReceiver();
registerReceiver( receiver , intentFilter);
// MyReceiver 是一个内部类,继承BroadCastReceiver.重写OnReceive实现对广播的处理。
}
Class MyReceiver extends BroadcastReceiver
{
Int num;
@Override
Publicvoid onReceive(Context context, Intent intent)
{
if(intent.getAction().equals(MainActivity.BRODCAST))
{
num=intent.getIntExtra(MainActivity.BRODCAST_VALUE, -1);
System.out.println("收到广播:"+num);
}}
}
}