2012-03-22 3 views
0

다음 기능이있는 Android 앱을 작성 중입니다. 앱이 실행 중이거나 시작되면 특정 의도의 기본 인 텐트 핸들러 여야하며 앱이 실행되고 있지 않을 때 시스템의 기본 애플리케이션이 실행되어야합니다.Android에서 프로그래밍 방식으로 특정 의도에 대한 기본 애플리케이션을 변경하려면 어떻게해야합니까?

+1

나는 그렇게 할 수 없다고 생각합니다. 일반적인 (안드로이드) 철학에 위배됩니다. 애플리케이션은 절대 사용자 비용이 들지 않는 작업을해서는 안되며, 명시 적 사용자 권한 없이도 기본 동작을 변경해야합니다. 그러나 악의적 인 행동을 계획하지 않는 한 사용자가 첫 번째 시작시 작은 상자를 확인하도록하는 것은 좋지 않습니다. 그렇지 않은 경우 그렇게하도록 요청할 수 있습니다. 나는 그런 행동을 사용자로 생각하지 않을 것이다. – Vincent

답변

3

분명히 보안상의 이유로 다행히도 이것은 불가능합니다.

PackageManagerqueryIntentActivities()을 사용하여 특정 <intent-filter>이 포함 된 활동을 사용 또는 사용 중지 할 수 있습니다. 그러나 기본 처리기로 만들 수는 없습니다. 사용자는 선택기 대화 상자가 나타나고 선택을 할 수 있습니다.

+0

CommonsWare는 정확한 AFIAK입니다. 안드로이드 플랫폼은 어떠한 애플리케이션도 어떤면에서도 제어 할 수 없도록 설계되었습니다. –

관련 문제