2014-11-12 2 views
0

모바일에 설치된 앱을 잠그기 위해 안드로이드 응용 프로그램을 만들고 있습니다. 이 응용 프로그램에서, 나는이 개 활동과 두 개의 클래스 다른 활동을 시작하는 살인 행위

  1. LockAppMainActivity

  2. CreatedWith (클래스 파일이 일정 시간 후 화면 잠금)
  3. 잠금 화면 (메인 활동 서비스를 암호를 설정하고 시작에 사용) (잠금을 만들었습니다 사용자가 재부팅 후 서비스)이와

문제를 시작하는 잠금이 적용되는 응용 프로그램)

  • ServiceRestarts (클래스 파일을 시작할 때 화면이 사용자에게 표시되는 사용자가 앱을 잠금 해제하려고 시도 할 때 앱 잠금 해제 후 잠금 화면이 백그라운드로 이동하여 살해되지 않는다는 것입니다. 사용자가 앱을 잠금 해제 할 때 lockscreen 활동이 중단되기를 바랍니다.

    LockAppMainActivity (그것은 서비스를 시작) 사용자가 입력 한 암호가 맞으면

     @Override 
        public int onStartCommand(Intent intent, int startId,int ff) { 
        int delay = 10; 
        int period = 100; 
        Timer timer = new Timer(); 
        timer.scheduleAtFixedRate(new TimerTask() 
         { 
          public void run() 
          { 
            odopo(); 
    
          } 
         }, delay, period); 
    
        return START_STICKY; 
    
        } 
    
         void odopo(){ 
    
         ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
         final List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1); 
    
           ActivityManager.RunningTaskInfo ar = RunningTask.get(0); 
           String activityOnTop = ar.topActivity.getClassName(); 
           if(activityOnTop.contains("whatsapp")) 
           { 
            if(LockAppMainActivity.myId!=1){ 
    
           Intent lockIntent = new Intent(this, LockScreen.class); 
           lockIntent.putExtra("sec", activityOnTop); 
           lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    
           this.startActivity(lockIntent); 
           }}} 
    

    잠금 화면 는 다음 코드를 실행

    startService(new Intent(this, CreatedWith.class)); 
    

    CreatedWith.

    이 코드의 문제점은 응용 프로그램 잠금이 해제되면 LockScreen이 백그라운드로 이동하지만 죽이기를 원합니다.

    가 사전에 감사

  • +0

    finish()를 호출 해 보았습니까? – mach

    +0

    예, 시도했습니다. – Rohit

    +0

    설정을 시도하십시오 android : noHistory = "true"는 매니페스트의 활동에 대해 스택에서 활동을 제거 할 때마다 – Rami

    답변

    0
    public void onDestroy() { 
         super.onDestroy(); 
         android.os.Process.killProcess(android.os.Process.myPid()); 
    }  
    

    ) (마무리를 호출하는 것을 잊지 마십시오

    메모리 사용으로 인해 그것을 죽이고 싶다면, OS가 그것을 죽이게 할 수 있습니다. Android RAM은 비어있는 상태 이상으로로드 된 상태로 유지되도록 최적화되어 있습니다. OS가 "메모리 부족 상태"(OOM)에 도달하면 우선 순위가 가장 낮은 프로세스가 종료되기 시작합니다 (백그라운드 프로세스의 우선 순위가 매우 낮습니다).

    0

    문제점에 대한 답변이 없지만 app과 나는 질문이있다 :

    사용자가 잠그고 싶은 응용 프로그램을 시작할 때 어떻게 lockapp을 시작할 수 있습니까? 영구히 실행해야합니까?

    +0

    최고 활동을 확인하는 서비스를 사용합니다. 상단 활동이 잠 그어려는 활동 인 경우 잠김 활동을 시작하려면 – Rohit

    +0

    하지만 내 서비스는 신청서의 일부입니다. 언제 당신의 서비스를 시작할 응용 프로그램을 시작합니까? –

    관련 문제