Launcher( HomeScreen ) 에 Shortcut( 바로가기 ) 생성하기 |
폰을 처음켰을 때 나오는 어플.
소위 말하는 HomeScreen 이라 부르는 녀석의 본래 이름은 Launcher ( 런처 ) 이다.
이 런처에 Shortcut 을 추가하는 코드를 설명한다.
안드로이드 런처( 홈스크린 ). 저 아이콘들이 shortcut 이다.
Manifest 에 권한설정
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
저 권한이 있어야만, 해당 앱에서 Launcher 에 Shortcut 을 설치( Install ) 하라는 명령을 내릴 수 있다.
참고로, 일반적인 규칙을 따른 런처는 저 INSTALL_SHORTCUT 을 구현했겠지만,
간혹가다 개인이 만든 런처의 경우 이 녀석을 구현 안 하는 경우도 있다.
Shortcut 추가를 구현하지 않은 Custom Launcher 를 사용하면서,
"이 코드를 따라했는데 왜 무작정 안돼?"
라고 이야기하며 성질부려도 나는 모른다.
이는 런처 개발자한테 따져라.
Shortcut 추가하는 코드
Shortcut 추가는 Launcher 에게 Broadcast 를 날림으로 실행한다.
이 때 Intent 는 2개가 사용된다.
1개는 새로 추가된 Shortcut 을 Click ( Touch ) 했을 때
수행될 Intent 를 정의하는 것이고,
다른 하나는 새로 추가될 Shortcut 의 이름, 아이콘, 위에서 정의한 Intent 를 담아서 Launcher 에게
Shortcut 추가를 요청하는 Broadcast 용 Intent 이다.
코드를 보는 것이 이해가 더 빠르겠다.
private void addShortcut(){
Intent shortcutIntent = new Intent( this, FortuneTelling.class );
shortcutIntent.setAction( Intent.ACTION_MAIN );
Intent shortcutAddIntent = new Intent( ACTION_INSTALL_SHORTCUT );
shortcutAddIntent.putExtra( Intent.EXTRA_SHORTCUT_NAME, getResources().getString( R.string.app_name ) );
shortcutAddIntent.putExtra( Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext( this, R.drawable.icon ) );
shortcutAddIntent.putExtra( KEY_SHORTCUT_DUPLICATE, false );
shortcutAddIntent.putExtra( Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent );
sendBroadcast( shortcutAddIntent );
}
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Spring] Spring Framework 의 개요 #2 (0) | 2013.06.25 |
---|---|
x86 안드로이드에 대해 알아보자. (0) | 2013.06.25 |
[Spring] Spring Framework 의 개요 #1 (0) | 2013.06.23 |
[android] Manifest 의 VersionCode 정보 코드로 가져오기 (0) | 2013.06.14 |
구글 플레이( Google Play ) 검색 순위 올리기 (0) | 2013.06.09 |
댓글