2017-02-13 3 views
5

나는 하나의 작업을 안드로이드 장치로 만들어야하는 고객 프로젝트를 가지고있다. 고객은 회사에서 개발 한 애플리케이션을 탈출 할 수 없습니다. 또한 고객은 다른 응용 프로그램을 시작할 수 없으며 장치가 부팅 될 때 응용 프로그램이 시작됩니다. 전반적으로 모든 고객이 장치로 수행 할 수있는 것은 응용 프로그램을 실행하는 것입니다.Android : 기기에서 앱을 하나만 실행하는 방법

이 작업을 수행하는 다른 방법은 장치를 루팅하고 모든 시스템 버튼을 비활성화하고 응용 프로그램을 시작 프로그램으로 만드는 것입니다. 나는이 목적을 위해 400 개의 장치와 같은 것을 가지고 있으므로 모든 것을 뿌리 내리는 데는 많은 시간이 걸릴 것입니다.

는 또한 COSU 장치에 대한 구글의 튜토리얼을 읽을 수는 있지만 매우 https://developer.android.com/work/cosu.html#testing-plan

안드로이드는 고객이 응용 프로그램을 탈출 할 수 충분히 있기 때문에 화면 고정이 잘되지 않습니다 자신의 confucing 발견했다. 일부 사용자는 SureLock과 같은 키오스크 애플리케이션을 사용하도록 제안 할 수 있지만 제 회사의 목표는 타사 앱을 사용하지 않고도이를위한 명확한 해결책을 찾는 것입니다. 또한 일부 키오스크 애플리케이션을 통해 앱을 실행하는 것이 우리의 목표는 아닙니다.

비슷한 질문으로 스택 오버플로에 대한 게시물을 찾았지만 찾고있는 답변이 아닙니다.

누군가이 질문에 대한 조언이 있으면 매우 감사 할 것입니다.

+0

키오스크 앱을 개발하고 싶습니까? 흥미 진진한 –

답변

0

응용 프로그램을 매니페스트 파일에 정의하여 실행 프로그램으로 만듭니다.

그런 다음 모바일 장치 설정으로 이동하여 기본 런처 응용 프로그램을 응용 프로그램으로 변경하십시오.

1

나는 전에 같은 문제에 갔다. 나는 적어도 3 일 동안 연구를했다. 나는 많은 해결책을 찾으려고했지만 제로를 찾았습니다.

How I solve is 

    1. Up To JellyBean 
    - Use System Alert Dialog (And make it transparent and small size like 2 * 2 And display in some corner(User can't see it)). User can't press home button If there is system Alert dialog 

    2. After JellyBean, This method doesn't work. The user can press the home button even though there is System Alert Dialog. 
    so what I did is, start the service on stop and start the same activity again and again(within sec). So user can't see any difference.Don't forget to make activity as single task so that even though you start same activity from service, again and again, new activity will not create (So Ugly way) 

    - You can simple make screen full screen. make sure in kiosk mode try to check if the screen is in full-screen mode. if not make it full-screen mode(its not hard to do) 

    - other way is to make launcher app but when ever you pressed home button it always asked to choose launcher app. if user mistakenly choose default/ other launcher app, this solution doesnt work 

    Good luck 
+0

솔루션 1은 독창적이지만 키오스크 모드를 달성하기 위해 시스템 경고 대화 상자를 남용하지 않는 것이 좋습니다. 이전에 권장했던 두 번째 솔루션을 보았지만 훌륭한 솔루션은 아닙니다. 앱 또는 서비스가 언제든지 Android에서 충돌하거나 죽을 수 있으므로 사용자가 기기에서 원하는 모든 작업을 수행 할 수 있습니다. 키오스크 모드에 대한 좋은 해결책을 찾고 있다면 몇 가지 대안에 대한 내 대답을 확인하십시오. http://stackoverflow.com/a/43644803/2888763 –

2

Android를 기반으로 만들어진 단일 용도 장치는 구현하기가 어려울 수 있습니다. 몇 가지 옵션이 있지만 각 옵션에는 절충점이 있습니다.

언급 한 바와 같이, 응원 장치는 원하는 기능을 제공하지만 수백 개의 장치가 뿌리를 내리고 유지 관리가 어려우며 시간이 오래 걸리고 장치 및 응용 프로그램에 보안 문제가 발생할 수 있습니다.

또 다른 옵션은 COSU 기기 [1]에 대해 Google의 잠금 작업 모드을 사용하는 것입니다. 링크는 잠금 작업 모드의 기능을 보여주는 좋은 그래픽이 있습니다 잠글 수 있습니다

  • 는 화이트 나와있는 DPC (장치 정책 컨트롤러)에 의해 애플 리케이션 홈 화면에 고정

    • 한 응용 프로그램을
    • 홈 및 최근 버튼이 Google의 솔루션을 사용하는 몇 가지 단점이 있습니다 stopLockTask()

    를 호출하여

  • 출구를 숨겨. 먼저 Google은 기기 소유자로 실행되고 정책을 설정하기 위해 완전히 별도의 DPC 앱을 만들고 유지하는 것이 좋습니다. 또한 앱 업데이트를 관리하고 각 기기와 연결된 Play 계정을 필요로하는 Google Play에 의존하게 될 것입니다. "단순한 기기 별 앱 배포 규칙에 대해 단일 사용자에게 묶여 있지 않은 단일 기기를 식별하는 데 사용됩니다. COSU 스타일 시나리오에서 "[3]."DPC는 공개적으로 Google Play에서 사용할 수 있어야하며 최종 사용자는 DPC 관련 식별자를 입력하여 기기 설정 마법사에서 DPC를 설치할 수 있습니다."[3] 사용자 애플리케이션을 Google Play [4]에 업로드하십시오. 일부 사용자는 Play에서 앱을 사용하고 싶지 않을 수 있습니다. 이 경로를 통해 필요한 기능을 제공 할 수는 있지만 복잡 할 수 있으며 Google/Play 서비스 및 워크 플로를 사용하여 고객과 고객을 매우 긴밀히 묶을 수 있습니다.

    또한 Mason [5]과 같은 엔터프라이즈 모바일 배포 플랫폼을 살펴볼 수도 있습니다. 귀하의 앱을 키오스크 모드 (예 : 카메라/SMS 사용 중지, 앱 제거 및 설정 숨기기 등의 다른 기능)에 잠근 상태로 몇 분 만에 맞춤 Android OS를 만든 다음 모든 기기에 배포 할 수 있습니다 떨어져서. Mason은 요구 사항이 변경되는 경우 사용자가 관리하는 OS 및 앱 업데이트도 지원합니다.

    이 유용 소리가 나는 경우에, 저에게 연락 주시기 바랍니다 : trevor @ bymason.com

    책임의 한계와 법적 고지 : 나는 메이슨 작동

  • 관련 문제