public class RegisterService extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(Constants.TAG, "intent.getAction()->" + intent.getAction());
            this.context = context;
        if (GlobalApplication.sdkVersion < 8)
        {
            PushService.actionStart(context);
        }else{
            close();
        }

   }

}


클래스로 리시버를 만들고 액션이 있을 때 동작 시키는 건데 .  8이하에서는 동작 . 8이상 에서는 해당 리시버를 finish();

시키고 싶은데 바로 finish()를 호출해서 쓸수 잇는 지 궁금 합니다 ..


이 리시버 때문에 어플이 계속 살아 잇는 걸로 보여서요 .. ^^;;


close(); 메소드를 만들어서 죽긴 죽는 데 더 좋은 방법이 있나 해서 문의 드립니다 .


private void close()
    {
        Log.d(Constants.TAG,"close");
    int nSDKVersion = Integer.parseInt(Build.VERSION.SDK);
    if(nSDKVersion < 8)    //2.1이하
    {
    ActivityManager actMng = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    actMng.restartPackage(context.getPackageName());
    }
    else
    {
        new Thread(new Runnable() {
            public void run() {
                ActivityManager actMng = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
                String strProcessName = context.getApplicationInfo().processName;
                Log.d(Constants.TAG,"strProcessName=="+strProcessName);
                while(true)
                    {
                    List<RunningAppProcessInfo> list = actMng.getRunningAppProcesses();
                    for(RunningAppProcessInfo rap : list)
                        {
                        if(rap.processName.equals(strProcessName))
                            {
                                if(rap.importance >= RunningAppProcessInfo.IMPORTANCE_BACKGROUND)
                                    Log.d(Constants.TAG,"getPackageName()=="+context.getPackageName());
                                actMng.restartPackage(context.getPackageName());
                                Thread.yield();
                                break;
                            }
                        }
                    }
                }
            }, "Process Killer").start();
        }
    }