2016-09-29 2 views
0

나는 그것이 내가 작업 관리자에서 죽이는 내 안드로이드 애플 리케이션을 방지 할 수있는 방법이 있는지 알고 싶다. 타사 앱이든간에, RAM 관리자 또는 사용자 클릭 강제 종료에서 삭제됩니다. 난 그냥 배경에서 내 애플 리케이션을 죽이고 싶지 않아, 그것은 실행되어야합니다.내 안드로이드 앱이 죽는 것을 막을 수있는 방법이 있습니까?

+0

의 사용 가능한 복제 [안드로이드 : 살아 백그라운드 서비스를 유지 (방지 처리 사망)] (http://stackoverflow.com/questions/3856767/android-keeping-a-background-service-alive-preventing- 프로세스 - 죽음) –

+0

난 애플 리케이션이 때로는 시스템에 의해 살해 될 것 같아요 ..하지만 당신은 서비스의 배경을 실행할 수있는 응용 프로그램도 살해됩니다 .. 알람 관리자가 구현 될 수 있도록 응용 프로그램이 사망하거나 경우에도 절전 모드에서 특정 작업을 구현할 수 있습니다 .. [http://stackoverflow.com/questions/4459058/alarm-manager-example] –

+0

왜 그렇게하고 싶은지 말해 줄 수 있습니까? –

답변

1

방법 "강제 정지"버튼을 비활성화

짧은 답변 다음 Device Administration API.

가 어떻게 작동하는지 보여 않습니다 사용할 수 있습니까?

예, 다시 작업하십시오. 위에 제공된 API 링크와 Google sample collection에 포함 된 Api Demos을 사용하여이를 앱에 통합하는 방법을 알아보세요.

  1. 데모를 빌드하고 장치에서 실행하십시오.
  2. 선택 API Demos->App->Device Admin->General->Enable admin.
  3. Device Administration API가 활성화 화면을 표시하면 활성화를 선택하십시오.
  4. 앱을 종료하고 기기의 설정 메뉴를 통해 앱을 관리하십시오 (이 단계의 세부 사항은 기기마다 다릅니다).
  5. Api Demo의 "app info"화면을 볼 때 Force Stop 및 Uninstall이 모두 비활성화되어 있어야합니다.

내 앱에서 어떻게합니까?

영감의 API 광고 데모 응용 프로그램에서 검토 DeviceAdminSample.java. 다음이 필요합니다 : 거기에 당신이 얻을해야합니다 몇 가지 다른 조각은이 일을, 그러나

// Launch the activity to have the user enable our admin. 
       Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
       intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); 
       intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, 
         mActivity.getString(R.string.add_admin_extra_app_text)); 
       startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN); 

:

다음 코드는 정품 인증 화면이 나타납니다 무엇

  1. DeviceAdminReceiver에서 파생 된 브로드 캐스트 수신기입니다.
  2. 위의 브로드 캐스트 리시버를 참조하는 매니페스트 파일에있는 항목입니다.
  3. 장치 관리자 API 사용에 대한 매니페스트의 사용 권한.
  4. 앱에서 액세스 할 수있는 정책을 설명하는 xml 파일입니다.

위의 링크에서이 모든 것을 찾을 수 있습니다. 고객에게 행운을 빈다.

+0

이것은 매우 도움이되며 효과가 있습니다. 하지만 우리는 어떻게해서든지 작업 관리자를 비활성화 할 수 있습니까? – Ace

0

이렇게하는 것이 더러운 방법 일 수 있습니다. 그러나 그것은 나를 위해 일했습니다.

onDestroy() 메서드를 서비스에 우선 적용하고 해당 서비스를 다시 시작하십시오.

@Override 
public void onDestroy() { 
    Intent intent = new Intent(this,YourService.class); 
    startService(intent); 
} 
관련 문제