¸ÕÀú
LauncherShortCutÀº API_DEMos¿¡ Àü¹ÝÀûÀÎ ¼Ò½º°¡ ³ª¿Í ÀÖ½À´Ï´Ù¸¸
ÀÎÅÙÆ®¶ó´øÁö ¼³¸íÀÌ ¾à°£ ºÎÁ·ÇÏ´õ±º¿ä.
¶ÇÇÑ ¿©·¯°³ÀÇ ¾×ƼºñƼ Áß Æ¯Á¤ ¾×ƼºñƼ¿¡ ´ëÇØ shortcutÀ» Ãß°¡ÇÏ´Â ¹ýµµ ¾ø°í,
´Ü¼øÈ÷ ÇϳªÀÇ ¾×ƼºñƼ¿¡¼¸¸ 󸮸¦ ÇÏ´õ±º¿ä.
---------------
À̹ø¿¡ ¿ä°ñ ´Ù·ïº¸¸é¼ ÇÑ°¡Áö Àǹ®Á¡ÀÌ »ý°å¾ú½À´Ï´Ù.
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
ÀÎÅÙÆ® ÇÊÅÍ¿¡ º¸¸é ÀÌ µÎÁÙÀÇ ±¸¹®À» ÀÚÁÖ º¸¼ÌÀ» ÅÙµ¥.
ÀÌ ÀÎÅÙÆ® ÇÊÅÍÀÇ ¿ªÈ°Àº ¾ÛÀÌ ½ÇÇà µÇ ¾úÀ»½Ã¿¡ °¡Àå ¸ÕÀú º¸¿©ÁÖ´Â ¾×ƼºñƼ´Ù.
¶ó´Â°É ¸í½ÃÇØÁִ°ÅÁÒ.
ÇÏÁö¸¸ APIDEMOSÀÇ ¸Þ´ÏÆ佺Ʈ¸¦ º¸¸é, ÆÐÅ°ÀÚ°¡ ´Ù¸£±äÇϳª ÇϳªÀÇ ¾ÛÀÓ¿¡µµ ºÒ±¸ÇÏ°í
À§ÀÇ ÀÎÅÙÆ® ÇÊÅÍ°¡ °ÅÀÇ ¸ðµç »ùÇø¶´Ù Á¸ÀçÇÏ¿´½À´Ï´Ù.
ÀÌ°Ç ´Ù½Ã¸»Çؼ À§ÀÇ ÀÎÅÙÆ® ÇÊÅÍÀÇ Á¶°ÇÀº ±âº»ÀûÀ¸·Î µ¿ÀÏÇϳª,
¹Ýµå½Ã ¾Û¿¡ Çϳª¸¸ Á¸ÀçÇؾߵǴ °ÍÀº ¾Æ´Ï°í, °¢ ¾×ƼºñƼ°¡ À§ÀÇ ÇÊÅ͸¦ °¡Áú ¼ö ÀÖ´Ù¶ó´Â
°á·ÐÀÌ ³ª¿À´õ±º¿ä.
ÇÑ ¿¹·Î Ä«Ä«¿ÀÅåÀÇ °æ¿ì ¾ÆÀ̵𸦠Ŭ¸¯Çؼ ¹ÙÅÁȸéÀ¸·Î »¬ ¼ö Àִµ¥,
ÀÌ ¶§, ¼ôÄÆÀ» ÅëÇÑ ½ÇÇàÀº ¾ÆÀ̵𸦠Ŭ¸¯Çß´ø ¾×ƼºñƼ°¡ mainÅÜÀ¸·Î ¼³Á¤ µË´Ï´Ù.
¾Æ·¡ÀÇ ¼Ò½º´Â ¼ôÄÆÀ» »ý¼ºÇÏ°í ¼ôÄÆ¿¡ ½ÇÇàÀÎÅÙÆ®µîÀÇ Á¤º¸¸¦ ½Ç¾î º¸³»ÁÝ´Ï´Ù.
private void addShortcut() {
private void addShortcut() {
//ÀÌ ºÎºÐÀÌ Á¦ÀÏ Áß¿äÇÕ´Ï´Ù. ¼ôÄÆÀ¸·Î »ý¼ºµÈ ¾ÆÀÌÄÜÀÌ ¾î´À ÇÊÅ͸¦ µû¶ó
°¡´À³Ä¸¦ °áÁ¤ÇØÁÝ´Ï´Ù. ÀüÈÀÇ °æ¿ì ACTION_CALLµîÀ¸·Î ¼³Á¤ÇÏ½Ã¸é µË´Ï´Ù.
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.putExtra("cName", "ÄÚ¸®¾Æ");
//ÀÌ ºÎºÐÀº »©¼Åµµ º° Àǹ̴ ¾ø½À´Ï´Ù. (putextra·Î ½Ç¾îº¸³»Áö´Â °ÍÀº ¾ÆÀÌÄÜÀ» ÅëÇØ
½ÇÇàµÈ ¾×ƼºñƼ¿¡ µ¥ÀÌÅ͸¦ ½Ç¾îº¸³»ÁÖ´Â ¿ªÈ°À» ÇØÁÝ´Ï´Ù.)
shortcutIntent.putExtra(EXTRA_KEY, "ApiDemos Provided This Shortcut");
// ¸ÇÀ§ÀÇ ACTION_MAIN°ú ¸¶Âù°¡Áö·Î ÇÊÅÍÂÊÀε¥, ·±Ã³´Â ½ÇÇà. DEFAULT´Â ±âº»°ªÀ»
°¡Áý´Ï´Ù. º¸Åë ¾ÆÀÌÄÜÀ» ÅëÇؼ ¾×ƼºñƼ¸¦ ½ÇÇàÇϹǷΠLAUNCHER¸¦ ÇØÁÖ½Ã¸é µË´Ï´Ù.
shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// ÀÌ°Ç ½ÇÇàµÉ ¾×ƼºñƼÀÇ Å¬·¡½º¿Í À̸§À» °¡Á®¿À´Â ºÎºÐÀÔ´Ï´Ù.
ÀÌ ¼Ò½º¸¦ ½ÇÇàÇÏ´Â ¾×ƼºñƼÀÇ À̸§À» °¡Á®°¡¸ç, ÀÓÀÇ·Î Á¤ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ÄÁÅؽºÆ®´Â Ưº°ÇÑ °æ¿ì°¡ ¾Æ´Ï¸é this·Î ó¸®ÇØÁֽøéµË´Ï´Ù.
shortcutIntent.setClassName(this, this.getClass().getName());
// ¾ÆÀÌÄÜÀ» ÅëÇØ ½ÇÇàÇÏ¸é ±âÁ¸¿¡ ÄÑÁ® ÀÖ´ø ¿ø·¡ ¾ÛÀ» ²¨¹ö¸®°Å³ª Àç½ÃÀÛÇÔ.
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
Intent intent = new Intent();
// À§¿¡¼ ÀÎÅÙÆ®¿¡ ´ãÀº Á¤º¸µéÀ» ÀÌ ÀÎÅÙÆ®¿¡ ½Ç¾î º¸³À´Ï´Ù.
// µÎ¹ø°ÀÇ NAMEÀº ¾ÆÀÌÄÜÀÇ "À̸§"ÀÌ µË´Ï´Ù.
// ¼¼¹ø°´Â ¹ÙÅÁȸ鿡 Àû¿ëµÉ ¾ÆÀÌÄÜÀ» Á¤ÀÇ ÇÕ´Ï´Ù. ¾Û ³»ºÎÀÇ À̹ÌÁö¸¦ °¡Á®¿À¹Ç·Î
¹Ýµå½Ã ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î Á¤ÀÇ ÇÏ¼Å¾ß µË´Ï´Ù.
// ¸¶Áö¸·Àº ¾ÆÀÌÄÜÀ» »ý¼ºÇÕ´Ï´Ù.
// setResult/sendBroadcastÀÇ °æ¿ì ÀÌ ¾ÆÀÌÄÜÀ» ¸¸µé¾î º¸³»´Â ¾×ƼºñƼ¿¡ shortcutintent¿¡ ½Ç¾îº¸³½ Á¤º¸¸¦ ´Ù½Ã¹Þ¾Æ¿Ã¶§ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ÄÚ¸®¾Æ");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher));
intent.putExtra("duplicate", false);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
setResult(RESULT_OK,intent);
}
// ¿¢Æ¼ºñƼ alias´Â Ÿ°Ù ¿¢Æ¼ºñƼ¸¦ ½ÇÇàÇØÁÖ´Â ¹æ½ÄÀÔ´Ï´Ù. ´Ü, Ÿ°Ù ¿¢Æ¼ºñƼ´Â
»óÀ§¿¡¼ ¸Þ´ÏÆ佺Ʈ¿¡ Á¤ÀÇ°¡ µÇ¾î ÀÕ¾î¾ß µË´Ï´Ù.
¸Þ´ÏÆ佺Ʈ¿¡¼± Action.MAINÇÊÅ͸¦ ¸ðµç ¿¢Æ¼ºñƼ¿¡ »ç¿ëÀÌ °¡´É ÇÕ´Ï´Ù.
¸ÇóÀ½ ½ÇÇàµÇ´Â ¸ÞÀÎ ¿¢Æ¼ºñƼ°¡ ¾Æ´Ñ ¾ÆÀÌÄÜÀ» ÅëÇؼ ´Ù¸¥ ¿¢Æ¼ºñƼ¸¦ ¶ç¿ì°Ô ÇÏ°í
½ÍÀ¸½Ã¸é,
alias¸¦ ÅëÇØ ´ë»ó ¿¢Æ¼ºñƼ¸¦ Àâ¾ÆÁÖ°í, ´ë»ó ¿¢Æ¼ºñƼ´Â ÀÎÅÙÆ® ÇÊÅÍ·Î ¸ÞÀΰú ·±Ã³¸¦
³Ö¾îÁÝ´Ï´Ù.
<activity-alias android:name=".CreateShortcuts"
android:targetActivity=".TestshortCut"
>
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
//Æ۹̼ÇÀº ¼³Ä¡/»èÁ¦ µÎÁ¾·ù°¡ ÀÖ½À´Ï´Ù. Áö±Ý±îÁö ÇÑ°ÍÀº ¼³Ä¡»ÓÀÌ°í »èÁ¦¸¦ ÇÏÁö
¾Ê¾Ò´Âµ¥. ¹ÙÅÁȸ鿡 ¸¸µé¾îÁö´Ùº¸´Ï ¾Û¿¡¼ »èÁ¦ÇÏ´Â ºóµµº¸´Ù ¹Û¿¡¼ Áö¿ì´Â ºóµµ°¡
´õ ³ô±â ¶§¹®¿¡ µû·Î ¾ð±ÞÇÏÁö ¾Ê½À´Ï´Ù. ¼³Ä¡¿Í »èÁ¦¸ðµÎ Æ۹̼ÇÀÌ ÇÊ¿äÇÏ°í
¾Æ·¡´Â ¼³Ä¡ Æ۹̼ÇÀÔ´Ï´Ù.
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
¼Ò½ºÆÄÀÏÀ» ÷ºÎÇÏ¿´À¸´Ï, º»¹®ÀÌ ÀÌÇØ°¡ µÇÁö ¾ÊÀ¸½Ã¸é ¼Ò½º¸¦ Âü°íÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù.
* ±ÛÀ» µî·ÏÇϽǶ§ ²À ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¸é °³ÀÎÁ¤º¸¸¦ ³²±âÁö ¸¶¼¼¿ä ^^ (¿¬¶ôó,À̸ÞÀÏÁÖ¼Ò,Áֹεî·Ï¹øÈ£ µî)