2015-01-27 5 views
1



나는 그것을 사용할 사용자가 직원 인 회사의 Android 앱을 개발하고 있습니다.이 이유로 회사에서 사용자에게 응용 프로그램을 개발하도록 요청했습니다. 그가 다른 목적으로 스마트 폰을 사용하지 않을 것이기 때문에 닫을 수는 없지만,이 경우 Android 기본 버튼이 애플리케이션을 방해하지 않아야합니다.

닫을 수없는 Android 응용 프로그램을 만드는 방법

돌아가서 응용 프로그램을 집으로 가져 오려면 버튼을 비활성화했습니다. 사용자가 열려있는 응용 프로그램을 표시하는 버튼을 클릭하면

@Override 
     public void onBackPressed() { 
         super.onBackPressed(); 
     } 

...

<category android: name = "android.intent.category.HOME" /> 

는 그러나, 응용 프로그램을 종료 할 수 있습니다.

이 문제를 해결하기 전에 많은 연구를했으며이 문제를 해결하기위한 몇 가지 시도를 실현했습니다.

하나. MX 플레이어와 같은 동작을 만들려고했습니다. 잠금을 사용하여 비디오를 볼 때 MX 플레이어는 항상 모든 것을 위에두고 사용자가 다른 곳을보고 클릭하도록합니다. 그러나이 동작을 사용하면 My Dialogs 나 Popup을 볼 수 없으며 테마를 적용 할 수 없습니다. 단순히 내 활동이 전체 응용 프로그램이 아니기 때문입니다. 사람이 더 이상 사용자가 응용 프로그램을 닫을 수 없습니다 만드는 방법을 알고 있다면 내 시도의

참조 링크는 http://www.piwai.info/chatheads-basics/

사람이 그 행동 MX 플레이어를 사용하는 방법을 알고있는 경우
How to disable Home and other system buttons in Android?
, 또는, 저를 도와주세요 , 나는이 문제가있는 사람이 아니라는 것을 알고 있습니다.

도움이되었습니다.

내 API는 16입니다. Android-4.1

+2

가능한 중복 (http://stackoverflow.com/questions/2068084/kiosk-mode-in-android) –

+0

대답은 무엇을 당신이 지정할 수 있습니다하세요? 고마워요 – Busata

+0

롤리팝은 – njzk2

답변

0

사용자에게 가장 좋은 방법은 다른 앱에 액세스 할 수 없다는 것이고, 내 앱이 다시 열리지 않는다면 어떤 서비스가 최고인지 확인하는 서비스를 만드는 것입니다.

ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningTaskInfo> runningTasks = manager.getRunningTasks(1); 

if (runningTasks != null && runningTasks.size() > 0) { 
    ComponentName topActivity = runningTasks.get(0).topActivity; 

    if (!topActivity.getPackageName().startsWith("com.mypackage.")) { 
     Log.i("Top Activity", topActivity.getPackageName()); 
     if (LocalCache.getInstance().isForceHome()) { 
      Intent intent = new Intent(HomeService.this, AuthLoginActivity.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(intent); 
     } 
    } 
    handler.postDelayed(this, 500); 
} 
[안드로이드 키오스크 모드]의
0

대상 장치에 뿌리가 있습니까? 그렇다면 this article이이를 가능하게하는 단계를 거칩니다. 구체적으로 묻는 것은 build.prop 파일을 수정하여 다음 행을 포함하도록 할 수 있습니다 : qemu.hw.mainkeys=1. 이렇게하면 소프트 키 탐색 막대가 나타나지 않습니다.

실행중인 기기가 루팅되지 않은 경우 요청하는 것을 수행 할 수 있다고 생각하지 않습니다.

+0

기사 주셔서 감사합니다.하지만 불행히도 장치는 루팅되지 않습니다. – Busata