Android Intent - ¾Èµå·ÎÀ̵å ÀÎÅÙÆ® |
|
|
 |
8³â Àü |
¡á Intent - ÀÎÅÙÆ®
ÀÎÅÙÆ®´Â ¾Èµå·ÎÀ̵å OS »ó¿¡¼ ¼·Î ´Ù¸¥ °´Ã¼µé °£¿¡ ÀڷḦ Àü´ÞÇϰųª È£ÃâÇØ ½ÇÇàÇÏ´Â ´ÜÀ§ ÀÔ´Ï´Ù. Intent´Â ¾ÖÇø®ÄÉÀÌ¼Ç ³»ºÎ¿Í ¾ÖÇø®ÄÉÀÌ¼Ç °£ÀÇ ¸Þ½ÃÁö¸¦ Àü´Þ ÇÒ ¶§ »ç¿ëµÇ´Â Ŭ·¡½º ÀÔ´Ï´Ù. ¾Èµå·ÎÀÌµå ±â±â ³»ÀÇ ¸ðµç ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆ÷³ÍÆ® °£ÀÇ »óÈ£ÀÛ¿ëÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. (½±°Ô ¸»ÇÏÀÚ¸é ÀÎÅÙÆ®¸¦ ÅëÇØ ÇØ´ç ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃŲ´Ù´ø°¡, µ¥ÀÌÅ͵éÀ» ÁÖ°í ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.)
ÀÎÅÙÆ®´Â ¸í½ÃÀû ÀÎÅÙÆ®(Explicit Intent)¿Í ¾Ï½ÃÀû ÀÎÅÙÆ®(Implicit Intent) µÎ °¡Áö·Î ³ª´ ¼ö ÀÖ½À´Ï´Ù.
¡á Explicit Intent - ¸í½ÃÀû ÀÎÅÙÆ®
¸í½ÃÀû ÀÎÅÙÆ®´Â È£ÃâÇϰųª ¸Þ½ÃÁö¸¦ º¸³¾ ´ë»ó ÄÄÆ÷³ÍÆ® À̸§À» ÁöÁ¤ÇÏ´Â ¹æ½Ä ÀÔ´Ï´Ù. ÁÖ·Î ¾ÖÇø®ÄÉÀÌ¼Ç ³»ÀÇ ÄÄÆ÷³ÍÆ® È£Ãâ ¹× µ¥ÀÌÅÍ Àü´Þ ½Ã¿¡ »ç¿ëµÇ°í, Intent ÇÊÅÍ°¡ Á¤ÀÇ µÇ¾î ÀÖÁö ¾Ê´õ¶óµµ ÄÄÆ÷³ÍÆ®¸¦ È£Ãâ ¹× ¸Þ½ÃÁö¸¦ Àü´Þ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹·Î ´Ù¸¥ Activty¸¦ È£ÃâÇÒ¶§, ´Ù¸¥ Activity¿¡ °ªÀ» Àü´ÞÇÒ ¶§ µîÀÌ ÀÖ½À´Ï´Ù.
¡á Implicit Intent - ¾Ï½ÃÀû ÀÎÅÙÆ®
¾Ï½ÃÀû ÀÎÅÙÆ®´Â ¸í½ÃÀû ÀÎÅÙÆ®¿Í´Â ´Þ¸® ¾×¼Ç, Ä«Å×°í¸®, µ¥ÀÌÅÍ¿Í °°Àº Ư¡À» Æ÷ÇÔÇÏ°í ÀÖ´Â ¹æ½ÄÀÔ´Ï´Ù. ¾Ï½ÃÀû ÀÎÅÙÆ®´Â ÀÎÅÙÆ® Çؼ® °úÁ¤ÀÌ ÇÊ¿äÇϸç, ÀÎÅÙÆ® Á¶°Ç¿¡ ¸Â´Â ÄÄÆ÷³ÍÆ®¸¦ ã±â À§ÇØ °¢ ÄÄÆ÷³ÍÆ®¿¡ Á¤ÀÇµÈ ÀÎÅÙÆ® ÇÊÅ͸¦ °Ë»öÇÏ°Ô µË´Ï´Ù.
¿¹·Î ÀüȹøÈ£¸¦ ÀÌ¿ëÇØ ÀüȰɱâ, À¥ ÁÖ¼Ò¸¦ ÀÌ¿ëÇØ À̵¿ µîÀÌ ÀÖ½À´Ï´Ù.
¡á IntentÀÇ »ç¿ë
À̹ø¿¡´Â Intent¸¦ »ç¿ëÇÑ ¿¹½ÃµéÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù.
¡á ´Ù¸¥ ¾×ƼºñƼ(Activity) È£Ãâ
Intent in = new Intent(MainActivity.this, OpenActivity.class);
startActivity(in);
¡á À¥ÆäÀÌÁö·Î À̵¿
Uri uri = Uri.parse("http://boxfoxs.tistory.com");
Intent it = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);
¡á ÀüȰɱâ
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
¡á À̸ÞÀÏ ¹ß¼Û
Uri uri = Uri.parse("mailto:xxx@abc.com");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);
¡á À̸ÞÀÏ ¹ß¼Û
1¹ø ¹æ¹ý
Uri uri = Uri.parse("mailto:xxx@abc.com");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);
2¹ø ¹æ¹ý
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
it.putExtra(Intent.EXTRA_TEXT, "The email body text");
it.setType("text/plain");
startActivity(Intent.createChooser(it, "Choose Email Client"));
3¹ø ¹æ¹ý
Intent it = new Intent(Intent.ACTION_SEND);
String[] tos = {"me@abc.com"};
String[] ccs = {"you@abc.com"};
it.putExtra(Intent.EXTRA_EMAIL, tos);
it.putExtra(Intent.EXTRA_CC, ccs);
it.putExtra(Intent.EXTRA_TEXT, "The email body text");
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
it.setType("message/rfc822");
startActivity(Intent.createChooser(it, "Choose Email Client"));
¡á ¾ÖÇø®ÄÉÀÌ¼Ç »èÁ¦
1¹ø
Uri uri = Uri.fromParts("package", strPackageName, null);
Intent it = new Intent(Intent.ACTION_DELETE, uri);
startActivity(it);
2¹ø
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
¡á ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Ä¡
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
¡á ¹Ìµð¾îÆÄÀÏ Àç»ý
1¹ø ¹æ¹ý
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/test.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);
2¹ø ¹æ¹ý
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
¡á ¸¶ÄÏ¿¡¼ ¾Û °Ë»ö
Uri uri = Uri.parse("market://search?q=pname:pkg_name");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
¡á ±¸±Û¿¡¼ °Ë»ö
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(intent);
¡á Youtube
1¹ø ¹æ¹ý
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));
2¹ø ¹æ¹ý
String videoId = "Fee5vbFLYM4";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:"+videoId));
intent.putExtra("VIDEO_ID", videoId);
startActivity(intent);
3¹ø ¹æ¹ý
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + videoId));
List<ResolveInfo> list = mContext.getPackageManager().queryIntentActivities(i, PackageManager.MATCH_DEFAULT_ONLY);
if (list == null || list.size() == 0) {
i = new Intent(null, Uri.parse("ytv://" + videoId), PlayList.this, OpenYouTubePlayerActivity.class);
}
mContext.startActivity(i); |
|
̵̧ : 335 |
̵̧
¸ñ·Ï
|
|