package com.sunvote.xpadapp.server; import android.app.Service; import android.content.Intent; import android.os.Handler; import android.os.IBinder; import com.jaredrummler.android.processes.AndroidProcesses; import com.sunvote.util.LogUtil; import com.sunvote.xpadapp.MainActivity; public class MoniService extends Service { private Handler handler ; public MoniService() { } @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { if(handler == null){ handler = new Handler(); } if(handler != null){ handler.removeCallbacks(checkTask); handler.post(checkTask); } return super.onStartCommand(intent, flags, startId); } @Override public void onCreate() { super.onCreate(); handler = new Handler(); } private Runnable checkTask = new Runnable() { @Override public void run() { boolean ret = AndroidProcesses.isMyProcessInTheForeground(); LogUtil.i("MoniService","checkResult:" + ret); if(!ret){ Intent intent = new Intent(MoniService.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); startActivity(intent); } if(handler != null){ handler.removeCallbacks(checkTask); handler.postDelayed(checkTask,1000); } } }; @Override public void onDestroy() { super.onDestroy(); handler.removeCallbacks(checkTask); } }