2013-01-31 7 views
2

간단한 홈 화면 응용 프로그램을 개발 중입니다. 그래서 홈 버튼을 누르면 홈 스크린 앱과 네이티브 홈 스크린 중 하나를 선택할 수 있습니다. 문제는 다음과 같습니다. 내 휴대 전화를 다시 시작할 때 홈 화면 응용 프로그램으로 기본 응용 프로그램을 설정하면 기본 홈 화면 응용 프로그램을 입력 할 수 없습니다. 내 응용 프로그램이 스택 맨 위에 있기 때문에 결코 시작하지 않았기 때문입니다. 내 홈 화면 앱인 경우 내 휴대 전화를 다시 시작할 때 기본 홈 화면 앱에 어떻게 입력합니까? 아이디어가 있습니다 : 부팅 할 때 호출 의도를 확인할 수 있습니다 - 홈 카테고리가 포함되어 있으면 기본 홈 화면 응용 프로그램을 호출합니다. 이런 식으로 뭔가 :홈 화면 구성 요소 이름

Intent creatingIntent = getIntent(); 
if (creatingIntent.hasCategory(Intent.CATEGORY_HOME)) 
{ 
    creatingIntent.setPackage("com.android.launcher"); 
    creatingIntent.setComponent(new ComponentName 
    ("com.android.launcher", 
    "com.android.launcher2.Launcher")); 
    startActivity(creatingIntent); 
    finish(); 
} 

그러나 문제는 내가, 누군가가 내가 어떻게 기본 홈 화면 응용 프로그램 구성 요소 이름을 얻을 수 있습니다 도움이 될 수 있습니다 몰라?

+0

흠 기본 작업 지우기를 볼 수 있습니까? – baboo

+0

[기본값 지우기] (http://stackoverflow.com/questions/10831870/clear-default-android-application) –

+0

사용자가 홈 버튼을 누르면 설정됩니다. – prowebphoneapp

답변

1

홈 앱 (= 런처)의 목표는 기본 런처를 대체하는 것입니다. 2 개의 런처를 동거해야합니다. 하지만 성공하면 홈 버튼을 눌러 네이티브 런처도 실행합니다.

질문에 대답하기 위해 기본 실행 프로그램은 대상 장치에 따라 다릅니다. 예 : samsung은 google과 동일한 실행기를 사용하지 않으므로 구성 요소 이름이 다릅니다.

시작시 앱을 실행하는 브로드 캐스트 수신기를 시도한 적이 있습니까? 이를 통해 앱을 기본 홈 앱으로 지정할 필요가 없으므로 홈 버튼을 눌러 선택 사항을 보존 할 수 있습니다. 그러나 사용자가 기본 앱으로 앱을 선택하면 이는 해결책이 아닙니다.

어쩌면 당신은 세트가 결코 방법 기본적으로 실행기를 설정하는 ABT 다른 발사기를 요청하지 기본값을 지우지 않고 내가이 개 발사대를 설치 한 경우 .. 유일한 해결책은 여기 How to use customized screen instead of default start screen in Android?

+0

1. 기본 실행기는 장치 유형에 따라 다르지만 프로그래밍 방식으로 해당 구성 요소 이름을 가져 오는 방법이 있다고 생각합니다. 2. 사용자가 내 앱을 기본값으로 설정하지 않으면 다시 한 번 누를 때마다 같은 대화 상자가 표시되어 실용적이지 않습니다. – prowebphoneapp

+0

@prowebphoneapp : "프로그래밍 방식으로 해당 구성 요소 이름을 가져 오는 방법이 있다고 생각합니다."- 안정적이지는 않습니다. – CommonsWare

+0

그래, 정말 논리적이지 않습니다. CommonsWare는 말하기를, 확실하지 않습니다. 당신은 packageManager (컴포넌트를 관리하는) 근처에서 찾을 수 있습니다, [here] (http://stackoverflow.com/a/5097838/1720391) – Goo