2013-01-14 4 views
1

mdm 서버 (모바일 장치 관리자)와 안드로이드 응용 프로그램을 개발했습니다. 두 장치를 연결할 수 있습니다. 또한, 나는 안드로이드 플랫폼에서 작동 할 수있는 안드로이드 응용 프로그램을 작성했습니다. 이제는 안드로이드 응용 프로그램을 내 허락없이 닫을 수없는 방식으로 관리하려고합니다. 즉, 안드로이드 응용 프로그램은 휴대 전화의 시작부터 자체 명령을 보낼 때까지 실행됩니다.응용 프로그램이 닫히지 않게하는 방법

어떻게 할 수 있습니까? 아시다시피, 당신의 지식을 공유 할 수 있습니까?

답변

2

안드로이드에서 응용 프로그램을 끝내는 것은 불가능합니다.

시스템은 현재 포어 그라운드 작업에 더 많은 리소스가 필요할 때마다 백그라운드 프로세스를 중단하여 RAM과 CPU를 확보합니다.

그러나 다음 중 하나를 수행 할 수 :

반환 START_STICKY 또는 START_REDELIVER_INTENT이 서비스에 대한() 당신의 onStartCommand에서 서비스

를 사용하여 반환 START_STICKY 또는 START_REDELIVER_INTENT

public int onStartCommand(Intent intent, int flags, int startId) { 
    super.onStartCommand(intent, flags, startId); 
    return START_STICKY; 
} 

GCM과 같은 푸시 알림 서비스를 사용하여 필요할 때만 앱을 실행하십시오.

앱이 필요하지 않을 때 앱이 실행되지 않으므로 배터리 효율이 훨씬 더 높은 방법입니다. GCM을 통합하면 Google에서 승인 한 모든 Android 기기 (Google Play가 설치된 기기)에 이미 설치된 Google 서비스를 통해 앱에 푸시 알림을 보낼 수 있습니다. 장치가 알림을 받으면 장치에서 응용 프로그램을 시작하고 알리고 시작합니다.

+0

이것이 마지막 질문입니다. 작업 관리자를 닫을 수 없도록 변경할 수 있습니까? –

+1

@ coler'e 작업 관리자는 다른 응용 프로그램과 동일하므로 아니오입니다. –

+0

당신의 도움으로, 나는 응용 프로그램 계층에서 이해, 내 소원을 관리 할 수 ​​없습니다. 내 목표를 달성하기 위해 안드로이드 OS, 오픈 소스를 변경하는 방법을 검색 할 것입니다. –

2

사용자가 응용 프로그램을 종료하는 것을 방지 할 수는 없습니다. (작업 킬러 등)

하지만 할 수있는 일은 서비스를 만들고 startService/stopService를 통해 서비스를 시작/중지하는 것입니다. 그리고 그것을 꼼꼼하게 만드십시오.

안드로이드는 자원이 부족할 때 서비스를 죽일 수 있습니다. STICKY는 서비스를 다시 시작합니다.

+0

끈적 거리는 것에 대해 더 자세히 설명해 주시겠습니까? –

+0

http://developer.android.com/reference/android/app/Service.html – RvdK

1

"예방법이 치료법보다 낫다"는 말은 잘 알려져 있습니다.이 말은 의심스러운 명령어를 try, catch 및 Finally 블록으로 묶어야한다는 의미입니다.

예기치 않은 결함이나 오류가 발생하지 않는 한 응용 프로그램이 닫히지 않습니다. 따라서 장치 연결, 찾기 등 중요한 프로그램 지침을 동봉하고 최종 블록에 올바른 지침을 적용하십시오. 귀하의 프로그램은 귀하의 요구에 따라 작동합니다. 감사합니다

+0

현재 포 그라운드 프로세스에 더 많은 리소스가 필요한 경우 Android로 애플리케이션을 종료 할 수 있습니다. –

+0

@RaghavSood 어쩌면 이것은 비웃음 질문 일 수 있습니다. 그것은 자원 관리자가 응용 프로그램을 다시 시작하는 한 응용 프로그램을 종료시킬 수 있습니다. 그러나, 제 질문은 어떻게하면 사용자가 내 응용 프로그램을 죽일 수 없게 할 수 있습니까? –

+0

@ user1965982 수 없습니다. –

관련 문제