package com.bigdo.service; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; public class VideoPayService extends Service { private final IBinder result = new LocalBinder(); private WebServer webServer; public class LocalBinder extends Binder { public VideoPayService getService() { return VideoPayService.this; } } @Override public IBinder onBind(Intent arg0) { return result; } @Override public void onCreate() { super.onCreate(); this.setForeground(true); startWebService(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { startWebService(); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { stopWebService(); super.onDestroy(); } private void startWebService() { if (webServer == null) { webServer = new WebServer(this); //webServer.setDaemon(true); webServer.start(); } else { webServer.sendStatusMsg(); } } private void stopWebService() { if (webServer != null) { webServer.stopService(); } webServer = null; } public void sendBroadcastMsg(int optype, final String msg, final Bundle data) { Intent i = new Intent(); i.setAction("com.bigdo.service.VideoPayService"); i.putExtra("optype", optype); if (msg != null) { i.putExtra("msg", msg); } if (data != null) { i.putExtra("data", data); } sendBroadcast(i); } }