简易代码学习使用服务与广播使用
switch (v.getId()) {
case R.id.button1://启动MyService
intent =new Intent(MainActivity.this,MyService.class);
startService(intent);
break;
case R.id.button2://停止MyService
intent =new Intent(MainActivity.this,MyService.class);
stopService(intent);
break;
case R.id.button3://发广播
final Intent intent2 = new Intent();
intent2.setAction("1");
sendBroadcast(intent2);
break;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.IBinder;
public class MyService extends Service {
private static String ACTION_GATT_CONNECTED="1";
private Handler mHandler=new Handler();
private Timer timer;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter());
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
timer =new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("------------start");
}
}, 500, 1000);
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("------------onDestroy");
unregisterReceiver(mGattUpdateReceiver);
}
private final BroadcastReceiver mGattUpdateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (ACTION_GATT_CONNECTED.equals(action)) {
timer.cancel();
stopSelf();
System.out.println("------------stopSelf");
}
}
};
private static IntentFilter makeGattUpdateIntentFilter() {
final IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_GATT_CONNECTED);
return intentFilter;
}
}
<service android:name=".MyService"></service>