그냥 엑티비티에서와 같이 실행 하시면 되는데....
어려워 하시는 것 같아 방금짠 소스하나 올려드립니다.
테스트도 거치지 않은 소스이므로 정상작동은 장담못하지만 충분한 참고자료가 될듯 합니다.
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
ActivityManager activityapp = (ActivityManager) getApplicationContext()
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> task = activityapp
.getRunningTasks(1);
ComponentName topActivity = task.get(0).topActivity;
String strPackage = topActivity.getPackageName();
String myAppPackageName = "실행할 패키지 네임";
if (!myAppPackageName.equals(strPackage)) {
Intent intent = getPackageManager()
.getLaunchIntentForPackage("실행할 패키지 네임");
startActivity(intent);
} else {
Log.e("out", "out");
}
}
}
}).start();
서비스 create단에 추가하시면 됩니다.
get_task퍼미션도 주셔야 하구요.
엑티비티 시작과 동시에 위소스가 들어간 서비스를 시작 하시면 됩니다.
저는 이렇게 해야 다시 살아난다는 것을 보여주기 위해 그냥 무한루프를 돌렸지만 상황에 맞는 이벤트는 직접 구현 하시면 됩니다.
많은 도움이 되셨기를 바랍니다.