월별 글 목록: 2012년 4월월

[안드로이드] 기본 프로그램 설정하기

 안드로이드에는 특정 기능을 사용할 때 기본 프로그램을 설정하는 기능이 있습니다. 대표적으로 런처라던가, 브라우저, 지도 프로그램과 같은 것들입니다. 홈 버튼을 누르면 설치되어 있는 런처들 중에 선택하는 화면이 나오게 되고, 인터넷 링크를 클릭 했을 때는 어떤 브라우저 프로그램으로 연결할지 나오게 됩니다. 이렇게 기본 프로그램을 설정하는 화면이 나오게 하는 코드가 아래와 같습니다.

[code java]
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW); // ACTION_MAIN 등 원하는 액션을 넣는다.
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse(URL String)); // 원하는 URL 을 넣는다
intent.setComponent(new ComponentName(“android”,”com.android.internal.app.ResolverActivity”)); // 선택 화면으로 띄운다
activity.startActivity(intent);
[/code]

 위 코드를 사용하면 설치 된 브라우저들 중에 선택하라는 팝업이 나오게 되고, 클릭 했을 때 setData 에 설정 된 Url 로 연결됩니다. 그리고 사용자가 기본 프로그램 설정 체크박스에 체크하였다면 사용자가 설정 한 프로그램이 기본 브라우저로 설정 됩니다. action과 category값을 수정하면 원하는데로 기본 프로그램을 조절하여 띄울 수 있습니다.

[안드로이드] 시스템 설정 > 애플리케이션 페이지 열기

 안드로이드 시스템 환경 설정 페이지의 애플리케이션 페이지를 열고 싶을 경우가 있을 수 있습니다. Intent 를 생성할 때 아래 값을 인자로 주고 startActivity 해주면 됩니다.

android.provider.Settings.ACTION_APPLICATION_SETTINGS

 테스트 결과 안드로이드 4.0 에서는 앱 리스트가 있는 화면이 바로 나오고, 안드로이드 2.3 까지는 앱 리스트 화면을 보려면 사용자가 한번 더 클릭을 해줘야 하는 화면으로 이동됩니다.

 그리고 특정 앱의 상세 화면을 띄워주는 방법을 Intent 생성할 때 아래 인자를 넣으면 됩니다.  다만 이 값의 경우 안드로이드 2.3 이상 부터 작동하는 것으로 확인 됩니다.

android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS

 패키지이름을 넣어줘야 원하는 앱의 상세화면을 띄워줄 수 있을 것입니다. 그것은 Intent 의 setData 로 형식을 맞춰서 넣어주면 됩니다.

intent.setData(Uri.parse(“package:” + mPackageName);

public static final String ACTION_APPLICATION_DETAILS_SETTINGS

Since: API Level 9

Activity Action: Show screen of details about a particular application.

In some cases, a matching Activity may not exist, so ensure you safeguard against this.

Input: The Intent’s data URI specifies the application package name to be shown, with the “package” scheme. That is “package:com.my.app”.

Output: Nothing.

Constant Value: “android.settings.APPLICATION_DETAILS_SETTINGS”

http://developer.android.com/reference/android/provider/Settings.html