2013-07-16 3 views
2

Android 기기로 부팅 한 후 사용자가 처음 보는 화면으로 표시하고 싶은 애플리케이션이 있습니다. 현재 응용 프로그램은 android.intent.action.BOOT_COMPLETED을 수신하고 자동으로 시작됩니다 (설명 된 here). 모두 좋고 좋아.Android에서 시작 앱을 열기 전에 홈 스크린로드를 방지하려면 어떻게해야하나요?

내 앱이 시작되기 전에 거의 항상 홈 화면이 잠시 표시 될 수 있습니다. 런처 응용 프로그램을 내 응용 프로그램으로 대체 할 수 있다는 것을 알고 있지만 내 목표는 사용자가 사용자 지정 실행 프로그램을 선택하지 않고이 초기 시작 화면을 제공하는 것입니다. (나는 사용자에게 화면을 강요하는 UX에 대한 우려를 알고있다. 지금 당장은 가능한 무엇을보고있다.)

내 질문은 : 이것을 할 수있는 방법이 있습니까? 아마도 홈 스크린의 첫 출시를 방해하거나 내 앱이 먼저 표시되도록할까요? 그렇지 않은 경우 부팅 할 때이 화면 만 표시하고 이후에 사용자가 선택한 실행 프로그램 또는 홈 응용 프로그램으로 리디렉션하는 실행 프로그램을 만들 수 있습니까? 내 직감은 Intent.CATEGORY_LAUNCHER 카테고리를 받고, 화면을 제시하거나 (이미없는 경우) 또는 실제 런처를 여는 다른 의도를 보내지 않으면 ... 가능하다면 다시 확신 할 수 없습니다.

감사합니다.

편집 : 예를 들어 this app의 경우 동일한 문제가 발생합니다. 자동 시작 앱이 홈 화면 뒤에 표시됩니다.

+0

이 앱은 공개 된 버전입니까, 아니면 내부 용입니까? –

+0

왜? 그게 무슨 변화가 있을까요? – Austin

+0

나는 그런 앱에 대해 궁금해하고 있으며 개발자들이 잠재적 인 사용자 경험을 깨뜨리는 데 너무 열심히 노력하는 이유를 설명하고있다. 내가 당신에게 화를 냈다면 미안하다. –

답변

2

마지막으로 해결책을 찾았으며 매우 간단합니다.

당신이 할 일은 당신의 AndroidManifest를 수신기에이 라인을 추가하는 것입니다 : 당신이 당신의 홈 화면을 만들고 싶어 신청 여부를 당신이 당신의 응용 프로그램을 열

<receiver android:name="com.dannywind.delphi.BootReceiver" 
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.HOME"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
     </receiver> 

그리고 다음 번에, 안드로이드 시스템이 요청합니다.

희망은 당신을 위해 작동합니다.