{"id":3803,"date":"2025-11-27T18:25:57","date_gmt":"2025-11-27T10:25:57","guid":{"rendered":"https:\/\/imastudio.com\/?p=3803"},"modified":"2025-11-27T18:25:58","modified_gmt":"2025-11-27T10:25:58","slug":"android-storage-permission-adaptation-guide","status":"publish","type":"post","link":"https:\/\/imastudio.com\/ko\/blog\/android-storage-permission-adaptation-guide","title":{"rendered":"Android 11+\ub97c \uc704\ud55c Android \uc800\uc7a5\uc18c \uad8c\ud55c \uc801\uc751 \uac00\uc774\ub4dc"},"content":{"rendered":"<p>\ub9e4\uc6b0 \uac04\ub2e8\ud55c \uc694\uad6c \uc0ac\ud56d\uc744 \uad6c\ud604\ud558\ub824\uace0 \ud588\uc744 \ub54c <strong>\uc774\ubbf8\uc9c0\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \ub85c\uceec \uc800\uc7a5\uc18c\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/strong> \u2014 \ucc98\uc74c\uc5d0\ub294 \ubaa8\ub4e0 \uac83\uc774 \uad1c\ucc2e\uc544 \ubcf4\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Honor(Android 10) \u2013 \uc791\ub3d9\ud568<\/li>\n\n\n\n<li>Redmi(Android 11) \u2013 \uc791\ub3d9\ud568<\/li>\n\n\n\n<li>\uc0e4\uc624\ubbf8(\uc548\ub4dc\ub85c\uc774\ub4dc 13) - \uc791\ub3d9\ud568<\/li>\n\n\n\n<li><strong>\uc0bc\uc131(\uc548\ub4dc\ub85c\uc774\ub4dc 13)<\/strong> \u2013 \uc644\uc804\ud788 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \uc800\uc7a5\uc18c \uad8c\ud55c \ub300\ud654 \uc0c1\uc790\uac00 \uc804\ud600 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p>\ub3d9\uc77c\ud55c \ucf54\ub4dc, \ub3d9\uc77c\ud55c \uae30\ub2a5\uc774\uc9c0\ub9cc Android 13\uc758 \ud55c \uae30\uae30\ub294 \uad8c\ud55c \uc694\uccad \uba54\uc2dc\uc9c0\ub97c \ud45c\uc2dc\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud574\uc11c \uc774 \uc791\uc740 &quot;\uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc&quot; \uc791\uc5c5\uc774 \uc2ec\uce35 \ubd84\uc11d\uc73c\ub85c \ubc14\ub00c\uc5c8\uc2b5\ub2c8\ub2e4. <strong>\ubc94\uc704\uac00 \uc9c0\uc815\ub41c \uc800\uc7a5\uc18c<\/strong> \uadf8\ub9ac\uace0 <strong>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/strong>.<\/p>\n\n\n\n<p>\uc774 \uac8c\uc2dc\ubb3c\uc740 \ub0b4\uac00 \uc800\uc7a5 \uad8c\ud55c\uc744 \uc5b4\ub5bb\uac8c \uc870\uc815\ud588\ub294\uc9c0 \uc694\uc57d\ud569\ub2c8\ub2e4. <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11 \uc774\uc0c1<\/strong>, \uadf8\ub9ac\uace0 \ubc84\uc804\ubcc4\ub85c \ub2e4\ub978 \ub3d9\uc791\uc744 \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ud558\ub294\uc9c0 \uc54c\ub824\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. \ubc84\uadf8: \uc800\uc7a5 \uad8c\ud55c \ub300\ud654 \uc0c1\uc790\uac00 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc74c(Samsung Android 13)<\/h2>\n\n\n\n<p>\uc694\uad6c \uc0ac\ud56d\uc740 \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\uc774\ubbf8\uc9c0\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud574\uc11c \uae30\uae30\uc5d0 \uc800\uc7a5\ud558\uba74 \uac24\ub7ec\ub9ac\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<p>\uc138 \uac1c\uc758 \ud14c\uc2a4\ud2b8 \uc7a5\uce58\uc5d0\uc11c:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Honor \u2013 \uc548\ub4dc\ub85c\uc774\ub4dc 10 \u2192 OK<\/li>\n\n\n\n<li>\ub808\ub4dc\ubbf8 \u2013 \uc548\ub4dc\ub85c\uc774\ub4dc 11 \u2192 \ud655\uc778<\/li>\n\n\n\n<li>\uc0e4\uc624\ubbf8 \u2013 \uc548\ub4dc\ub85c\uc774\ub4dc 13 \u2192 \ud655\uc778<\/li>\n<\/ul>\n\n\n\n<p>\ud558\uc9c0\ub9cc <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 13\uc744 \uc2e4\ud589\ud558\ub294 \uc0bc\uc131 \uae30\uae30<\/strong>, \uc2dc\uc2a4\ud15c <strong>\uc800\uc7a5 \uad8c\ud55c \ub300\ud654 \uc0c1\uc790\uac00 \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.<\/strong>, \ub0b4\uac00 \uc5b4\ub5bb\uac8c \uc694\uccad\ud558\ub4e0 \uc0c1\uad00\uc5c6\uc5b4\uc694.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"184\" src=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134-1024x184.jpeg\" alt=\"\" class=\"wp-image-3810\" srcset=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134-1024x184.jpeg 1024w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134-300x54.jpeg 300w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134-768x138.jpeg 768w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134-18x3.jpeg 18w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182134.jpeg 1277w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"168\" src=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-1024x168.jpeg\" alt=\"\" class=\"wp-image-3811\" srcset=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-1024x168.jpeg 1024w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-300x49.jpeg 300w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-768x126.jpeg 768w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-1536x253.jpeg 1536w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139-18x3.jpeg 18w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182139.jpeg 1806w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"174\" src=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-1024x174.jpeg\" alt=\"\" class=\"wp-image-3808\" srcset=\"https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-1024x174.jpeg 1024w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-300x51.jpeg 300w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-768x131.jpeg 768w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-1536x262.jpeg 1536w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150-18x3.jpeg 18w, https:\/\/imastudio.com\/wp-content\/uploads\/2025\/11\/20251127-182150.jpeg 1879w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>\ucc98\uc74c\uc5d0\ub294 \uc774\uac83\uc774 \ub2e8\uc9c0 OEM\uc758 \ub610 \ub2e4\ub978 \ud2b9\uc131\uc774\ub77c\uace0 \uc0dd\uac01\ud588\uc9c0\ub9cc, Android \ubc84\uc804 \uc804\uccb4\uc5d0\uc11c \uc800\uc7a5\uc18c \uad8c\ud55c \ubcc0\uacbd \uc0ac\ud56d\uc744 \ud655\uc778\ud55c \ud6c4, SDK 33\uc744 \ud0c0\uac9f\uc73c\ub85c \ud560 \ub54c Android 13\uc5d0\uc11c \uc0ac\uc2e4\uc0c1 \ub354 \uc774\uc0c1 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \ub3d9\uc791\uc5d0 \uc758\uc874\ud558\uace0 \uc788\ub2e4\ub294 \uac83\uc744 \uae68\ub2ec\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. \uadfc\ubcf8 \uc6d0\uc778: WRITE\/READ_EXTERNAL_STORAGE\ub294 Android 13(SDK 33)\uc5d0\uc11c \ub354 \uc774\uc0c1 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/h2>\n\n\n\n<p>\uc774\uc804 Android \ubc84\uc804\uc5d0\uc11c\ub294 \ub9e4\ub2c8\ud398\uc2a4\ud2b8\uc5d0\uc11c \ub2e4\uc74c \ub450 \uac00\uc9c0 \uad8c\ud55c\uc744 \uac04\ub2e8\ud788 \uc120\uc5b8\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc77d\uae30<\/code><\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code><\/li>\n<\/ul>\n\n\n\n<p>\uadf8\ub9ac\uace0 \ud544\uc694\ud560 \ub54c \ub7f0\ud0c0\uc784\uc5d0 \uc694\uccad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Android 13(SDK 33)\uc5d0\uc11c <strong>targetSdkVersion = 33<\/strong>, \uadf8 \uc811\uadfc \ubc29\uc2dd\uc740 \uae68\uc9c0\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code> ~\uc774\ub2e4 <strong>\ub354 \uc774\uc0c1 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uace0 \uc0ac\uc2e4\uc0c1 \uc4f8\ubaa8\uac00 \uc5c6\uc74c<\/strong> \ucd5c\uc2e0 \uc548\ub4dc\ub85c\uc774\ub4dc \ubc84\uc804\uc5d0\uc11c<\/li>\n\n\n\n<li>\ucd94\uac00\ud558\uba74 <code>\ucd5c\ub300 SDK \ubc84\uc804=32<\/code> \uc774\ub7ec\ud55c \uad8c\ud55c\uc740 Android 11\/12\uc5d0\uc11c\ub3c4 \uc5ec\uc804\ud788 \uc791\ub3d9\ud569\ub2c8\ub2e4.<br>\ud558\uc9c0\ub9cc \uadf8\ub4e4\uc740 <strong>\ubb34\uc2dc\ud558\ub2e4<\/strong> Android 13\uc5d0\uc11c 33\uc744 \ud0c0\uac9f\ud305\ud560 \ub54c<\/li>\n\n\n\n<li>\ub3d9\uc2dc\uc5d0 Play Store\uc5d0\uc11c\ub294 \uc0c8 \uc571\uc774 \ucd5c\uc18c SDK 33\uc744 \ud0c0\uac9f\uc73c\ub85c \ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p>\ub530\ub77c\uc11c Android 11 \uc774\uc0c1\uc5d0\uc11c\ub294 \ub2e4\uc74c \uc0ac\ud56d\uc5d0 \uc801\uc751\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ubc94\uc704\uac00 \uc9c0\uc815\ub41c \uc800\uc7a5\uc18c<\/strong><\/li>\n\n\n\n<li>\uadf8\ub9ac\uace0 \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \ud2b9\ubcc4 \ud5c8\uac00\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code><\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/strong> \uc571\uc5d0 \ubaa8\ub4e0 \uacf5\uc720 \uc800\uc7a5\uc18c \ucf58\ud150\uce20(\ube44\ubbf8\ub514\uc5b4 \ud30c\uc77c \ud3ec\ud568)\uc5d0 \ub300\ud55c \uad11\ubc94\uc704\ud55c \uc561\uc138\uc2a4 \uad8c\ud55c\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4. <strong>~ \uc544\ub2c8\ub2e4<\/strong> \ub2e4\ub978 \uc571\uc758 \ube44\uacf5\uac1c \ub514\ub809\ud1a0\ub9ac\uc5d0 \ub300\ud55c \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\uc9c0\ub9cc, Google Play\uc5d0\uc11c\ub294 \uc5ec\uc804\ud788 \ub9e4\uc6b0 \ubbfc\uac10\ud55c \uad8c\ud55c\uc73c\ub85c \uac04\uc8fc\ub429\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<p>\ub2e4\uc591\ud55c Android \ubc84\uc804\uc744 \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \uad8c\ud55c \ucc98\ub9ac\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ubd84\ud560\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Android 11 \uc774\uc804(API &lt; 30)<\/strong> \u2013 \uc774\uc804 \uc2a4\ud0c0\uc77c\uc758 \uc678\ubd80 \uc800\uc7a5\uc18c \uad8c\ud55c<\/li>\n\n\n\n<li><strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11 \uc774\uc0c1<\/strong> \u2013 \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c + \ud2b9\uc218 \ucc98\ub9ac <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \uc5c4\uaca9\ud788 \ud544\uc694\ud55c \uacbd\uc6b0<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. \ub2e8\uacc4\ubcc4 \uc801\uc751<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 \ub9e4\ub2c8\ud398\uc2a4\ud2b8\uc5d0 MANAGE_EXTERNAL_STORAGE \uc120\uc5b8<\/h3>\n\n\n\n<p>\uc5d0\uc11c <code>AndroidManifest.xml<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;uses-permission\n    android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"\n    tools:ignore=\"ScopedStorage\" \/><\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u26a0\ufe0f \ucc38\uace0: \uc65c\ub0d0\ud558\uba74 <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \ubbfc\uac10\ud55c \uad8c\ud55c\uc774\ub77c Google Play\uc5d0\uc11c\ub294 \uc81c\ud55c\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub9cc \uc800\uc7a5\ud558\ub824\ub294 \uacbd\uc6b0\uc758 \ub300\uc548\uc740 \ub098\uc911\uc5d0 \uc124\uba85\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 \uad8c\ud55c\uc774 \ubd80\uc5ec\ub418\uc5c8\ub294\uc9c0 \ud655\uc778<\/h3>\n\n\n\n<p>\ub098\ub294 \uc0ac\uc6a9\ud588\ub2e4 <strong>\uc774\uc9c0\ud37c\ubbf8\uc158<\/strong> \uad8c\ud55c \ud655\uc778\uc744 \uac04\uc18c\ud654\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uac1c\uc778 fun checkPer(\ud65c\ub3d9: PreViewActivity): Boolean { Build.VERSION.SDK_INT &gt;= 30\uc778 \uacbd\uc6b0\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4. EasyPermissions.hasPermissions(\ud65c\ub3d9, android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) } else { EasyPermissions.hasPermissions(\ud65c\ub3d9, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) } }\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>~\uc5d0 <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11 \uc774\uc0c1(API &gt;= 30)<\/strong>: \ud655\uc778\ud574\uc694 <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code><\/li>\n\n\n\n<li>~\uc5d0 <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 10 \uc774\ud558<\/strong>: \uc544\uc9c1\ub3c4 \ud655\uc778 \uc911\uc774\uc5d0\uc694 <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code><\/li>\n<\/ul>\n\n\n\n<p>\uc774 \ubd84\ud560\uc740 \uc911\uc694\ud569\ub2c8\ub2e4. <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code> \ub354 \uc774\uc0c1 \ucd5c\uc2e0 \ubc84\uc804\uc5d0\uc11c\ucc98\ub7fc \ub3d9\uc791\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 \uad8c\ud55c\uc774 \uc5c6\uc744 \ub54c \uad8c\ud55c \uc694\uccad<\/h3>\n\n\n\n<p>\uad8c\ud55c\uc774 \ubd80\uc5ec\ub418\uc9c0 \uc54a\uc73c\uba74 \uc2dc\uc2a4\ud15c \ubc84\uc804\uc5d0 \ub530\ub77c \ub2e4\ub974\uac8c \uc694\uccad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private fun requestStoragePermission(activity: PreViewActivity, curImg: Int) { if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.R) { \/\/ Android 11+ \u2013 \uc2dc\uc2a4\ud15c &quot;\ubaa8\ub4e0 \ud30c\uc77c \uc561\uc138\uc2a4&quot; \uc124\uc815 \ud398\uc774\uc9c0\ub85c \ub9ac\ub514\ub809\uc158 val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION) intent.data = Uri.parse(&quot;package:&quot; + activity.packageName) activity.startActivityForResult(intent, 200) } else { \/\/ Android 10 \uc774\ud558 \u2013 \uc77c\ubc18 \ub7f0\ud0c0\uc784 \uad8c\ud55c val perm = android.Manifest.permission.WRITE_EXTERNAL_STORAGE PaperThreeVariable.isToRequestPer = true EasyPermissions.requestPermissions( PermissionRequest.Builder( activity, 200, perm ).build() ) } }\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>~\uc5d0 <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11 \uc774\uc0c1<\/strong>: \uc77c\ubc18 \ub7f0\ud0c0\uc784 \ub300\ud654 \uc0c1\uc790\ub97c \uadf8\ub0e5 &quot;\ud31d\uc5c5&quot;\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code><br>\uc0ac\uc6a9\uc790\ub97c \uc2dc\uc2a4\ud15c \uc124\uc815 \ud398\uc774\uc9c0\ub85c \uc548\ub0b4\ud558\uc5ec \uc218\ub3d9\uc73c\ub85c &quot;\ubaa8\ub4e0 \ud30c\uc77c \uc561\uc138\uc2a4&quot; \uad8c\ud55c\uc744 \ubd80\uc5ec\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>~\uc5d0 <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 10 \uc774\ud558<\/strong>: \ud074\ub798\uc2dd \ub7f0\ud0c0\uc784 \uad8c\ud55c \ub300\ud654 \uc0c1\uc790\uac00 \uacc4\uc18d \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 \uad8c\ud55c \ucf5c\ubc31 \ucc98\ub9ac<\/h3>\n\n\n\n<p>EasyPermissions\ub294 Activity\uc758 \ucf5c\ubc31\uacfc \uc790\uccb4 \ub85c\uc9c1\uc744 \uc5f0\uacb0\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>onRequestPermissionsResult( requestCode: Int, permissions: Array)\ub97c \uc7ac\uc815\uc758\ud569\ub2c8\ub2e4. , grantResults: IntArray ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this) } override fun onPermissionsGranted(requestCode: Int, perms: MutableList ) { AppInitUtils().saveFreshAppImageToGallery(this, curImg) PaperThreeVariable.isToRequestPer = false } onPermissionsDenied(requestCode: Int, perms: MutableList)\ub97c \uc7ac\uc815\uc758\ud569\ub2c8\ub2e4. ) { PaperThreeVariable.isToRequestPer = false if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) { AppSettingsDialog.Builder(this) .setRationale(&quot;\uc774 \ud568\uc218\ub97c \ud65c\uc131\ud654\ud558\ub824\uba74 \uc800\uc7a5 \uad8c\ud55c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.&quot;) .setNegativeButton(&quot;\uc544\ub2c8\uc694&quot;) .setPositiveButton(&quot;\uc608&quot;) .build() .show() } }\n<\/code><\/pre>\n\n\n\n<p>\ub0b4\uac00 EasyPermissions\ub97c \uc0ac\uc6a9\ud558\ub294 \uc774\uc720:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc0ac\uc6a9\uc790\ub294 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4 <strong>\uc601\uad6c\uc801\uc73c\ub85c \uac70\ubd80\ud558\ub2e4<\/strong> \ubc18\ubcf5\ub418\ub294 \uc694\uccad\uc774 \uc790\ub3d9\uc73c\ub85c \uc2e4\ud328\ud558\uac8c \ub9cc\ub4dc\ub294 \uad8c\ud55c<\/li>\n\n\n\n<li>EasyPermissions\ub97c \uc0ac\uc6a9\ud558\uba74 \ub2e4\uc74c \uc791\uc5c5\uc744 \ub354 \uc27d\uac8c \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>&quot;\uc601\uad6c \uac70\ubd80&quot; \uc0c1\ud0dc \uac10\uc9c0<\/li>\n\n\n\n<li>\uc0ac\uc6a9\uc790\ub97c \uc548\ub0b4\ud558\ub294 \ub300\ud654 \uc0c1\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4. <strong>\uc2dc\uc2a4\ud15c \uc124\uc815 \u2192 \uc571 \uad8c\ud55c<\/strong> \uc800\uc7a5\uc18c \uc561\uc138\uc2a4\ub97c \uc218\ub3d9\uc73c\ub85c \ud65c\uc131\ud654\ud558\ub824\uba74<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\ud5c8\uac00\uac00 \ub0b4\ub824\uc9c0\uba74 \uc804\ud654\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AppInitUtils().saveFreshAppImageToGallery(\uc774\uac83, curImg)\n<\/code><\/pre>\n\n\n\n<p>\uc2e4\uc81c\ub85c \uc774\ubbf8\uc9c0\ub97c \uc800\uc7a5\ud558\uace0 \uac24\ub7ec\ub9ac\ub97c \uc0c8\ub85c \uace0\uce69\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub7ec\ud55c \uc801\uc751 \uc774\ud6c4, \uc0bc\uc131 \uc548\ub4dc\ub85c\uc774\ub4dc 13 \uae30\uae30\ub294 \ub9c8\uce68\ub0b4 \ub2e4\ub978 \uae30\uae30\uc640 \ub3d9\uc77c\ud558\uac8c \ub3d9\uc791\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ucc38\uace0: \uc81c Xiaomi \uae30\uae30\ub294 Android 13\uc73c\ub85c \ubcf4\uace0\ub418\uc5c8\uc9c0\ub9cc Android Studio\uc758 &quot;\uc5f0\uacb0\ub41c \uc774\uc804 \uae30\uae30&quot;\uc5d0\uc11c\ub294 Android 12\ub85c \uc778\uc2dd\ud588\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc774 \uc5b4\ub5a4 \uacbd\uc6b0\uc5d0\ub294 \uc5ec\uc804\ud788 \uc791\ub3d9\ud558\ub294 \uc774\uc720\ub97c \uc124\uba85\ud560 \uc218 \uc788\uc9c0\ub9cc, \ubc84\uc804 \uae30\ubc18 \uad8c\ud55c \ucc98\ub9ac\uac00 \uc911\uc694\ud55c \uc774\uc720\ub294 \ubc14\ub85c \uc774 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. MANAGE_EXTERNAL_STORAGE \ubc0f Google Play \uc81c\ud55c \uc0ac\ud56d\uc5d0 \uad00\ud558\uc5ec<\/h2>\n\n\n\n<p><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \uac15\ub825\ud558\ub2e4:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\uc77d\uae30\/\uc4f0\uae30 \uc561\uc138\uc2a4 \uad8c\ud55c\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4. <strong>\ubaa8\ub4e0 \uacf5\uc720 \uc2a4\ud1a0\ub9ac\uc9c0<\/strong> \uc7a5\uce58\uc5d0\uc11c.<\/p>\n<\/blockquote>\n\n\n\n<p>\uc774\ub85c \uc778\ud574 Google Play\uc5d0\uc11c\ub294 \uc774\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ucc98\ub9ac\ud569\ub2c8\ub2e4. <strong>\ub9e4\uc6b0 \ubbfc\uac10\ud55c \uad8c\ud55c<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc8fc\ub85c \ub2e4\uc74c\uc744 \uc704\ud574 \uc758\ub3c4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <strong>\ud30c\uc77c \uad00\ub9ac\uc790 \/ \ubc31\uc5c5 \/ \ubc14\uc774\ub7ec\uc2a4 \ubc31\uc2e0<\/strong> \uc571 \uc785\ub825<\/li>\n\n\n\n<li>\uc0ac\uc6a9\ud558\ub824\uba74 \uc815\ub2f9\ud55c \uc0ac\uc720\ub97c \uc81c\ucd9c\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc571\uc774 \uc77c\ubc18\uc801\uc778 \uc18c\ube44\uc790\uc6a9 \uc571(\uc608: \uc774\ubbf8\uc9c0 \uc800\uc7a5, \uac04\ub2e8\ud55c \ub2e4\uc6b4\ub85c\ub4dc)\uc778 \uacbd\uc6b0 \uc694\uccad\uc740 \ub2e4\uc74c\uacfc \uac19\uc744 \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4. <strong>\uac70\ubd80\ub428<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\ub530\ub77c\uc11c \uadc0\ud558\uc758 \uc720\uc77c\ud55c \uc694\uad6c \uc0ac\ud56d\uc774 \ub2e4\uc74c\uacfc \uac19\ub2e4\uba74:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201c&quot;\uac24\ub7ec\ub9ac\uc5d0 \uc774\ubbf8\uc9c0\ub97c \uc800\uc7a5\ud558\uace0 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ud45c\uc2dc\ud569\ub2c8\ub2e4.&quot;\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>\uadf8\ub7fc \ub2f9\uc2e0\uc740\ud574\uc57c\ud569\ub2c8\ub2e4 <strong>\uac15\ub825\ud788 \ud53c\ud558\ub294 \uac83\uc744 \uace0\ub824\ud558\uc138\uc694<\/strong> <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \uadf8\ub9ac\uace0 \ub300\uc2e0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc0ac\uc6a9 <strong>\ubbf8\ub514\uc5b4\uc2a4\ud1a0\uc5b4<\/strong> \uc2dc\uc2a4\ud15c \ubbf8\ub514\uc5b4 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc774\ubbf8\uc9c0\ub97c \uc0bd\uc785\ud558\ub824\uba74<\/li>\n\n\n\n<li>\ub610\ub294 \uc804\uccb4 \ud30c\uc77c \uc561\uc138\uc2a4\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\uace0 \uc774\ubbf8\uc9c0\ub97c \uc800\uc7a5\ud560 \uc218 \uc788\ub294 API\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.<\/li>\n<\/ul>\n\n\n\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uc5ec\ub7ec \uac00\uc9c0 \ud328\ud134\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc0ac\uc9c4\uc744 Pictures\/DCIM \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc800\uc7a5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ubbf8\ub514\uc5b4 \uc2a4\uce90\ub108\uc5d0 \uc54c\ub9ac\uac70\ub098 MediaStore\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac24\ub7ec\ub9ac\uc5d0\uc11c \uc774\ub97c \uc120\ud0dd\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774 \ubaa8\ub4e0 \uac83\uc744 \ud558\uc138\uc694 <strong>MANAGE_EXTERNAL_STORAGE\ub97c \uc694\uccad\ud558\uc9c0 \uc54a\uace0<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\ub0b4\ubd80 \ub610\ub294 Play \uc2a4\ud1a0\uc5b4 \uc678 \ubc30\ud3ec(\uc608: \uae30\uc5c5 \ub0b4\ubd80 \uc571 \uc2a4\ud1a0\uc5b4)\uc758 \uacbd\uc6b0 \uae30\uc220\uc801\uc73c\ub85c \uacc4\uc18d \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\ud658\uacbd.getExternalStorageDirectory()<\/code>, \ud558\uc9c0\ub9cc 2025\ub144\uc5d0 \uc774\ub7f0 \ubc29\uc2dd\uc73c\ub85c \uc0c8\ub85c\uc6b4 \uc571\uc744 \ub514\uc790\uc778\ud558\ub294 \uac83\uc740 \uad8c\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. \ubc84\uc804\ubcc4 \uc694\uc57d (Android 9 \u2192 13)<\/h2>\n\n\n\n<p>\ubaa8\ub4e0 \ub0b4\uc6a9\uc744 \ud55c\uacf3\uc5d0 \uc815\ub9ac\ud558\uae30 \uc704\ud574, \uc678\ubd80 \uc800\uc7a5\uc18c\uc640 \uad8c\ud55c\uc774 \uc5ec\ub7ec \ubc84\uc804\uc5d0 \uac78\uccd0 \uc5b4\ub5bb\uac8c \ub3d9\uc791\ud558\ub294\uc9c0\uc5d0 \ub300\ud55c \uac04\ub7b5\ud55c \uc694\uc57d\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Android 9 \uc774\ud558(API 28 \uc774\ud558)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uad8c\ud55c<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc77d\uae30<\/code><\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud589\ub3d9<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc571\uc740 \uc790\uc720\ub86d\uac8c \uc811\uadfc \uac00\ub2a5 <code>\/SD\uce74\ub4dc<\/code> \ubc0f \ud558\uc704 \ub514\ub809\ud1a0\ub9ac<\/li>\n\n\n\n<li>\uc571\uc774 \uc81c\uac70\ub41c \ud6c4\uc5d0\ub3c4 \uc571\uc5d0\uc11c \uc0dd\uc131\ub41c \ud30c\uc77c\uc740 \uae30\uae30\uc5d0 \ub0a8\uc544 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc77c\ubc18\uc801\uc778 \uc811\uadfc \ubc29\uc2dd<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc678\ubd80 \uc800\uc7a5\uc18c \uacbd\ub85c\uc5d0\uc11c \uc9c1\uc811 \uc77d\uae30\/\uc4f0\uae30<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Android 10(API 29) - \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c \ub3c4\uc785<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uad8c\ud55c<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc77d\uae30<\/code> \uc544\uc9c1\ub3c4 \uc791\ub3d9\ud558\ub2e4<\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code> \uc5ec\uc804\ud788 \uc874\uc7ac\ud558\uc9c0\ub9cc \ud6a8\uacfc\uc801\uc778 \ubc94\uc704\uac00 \uc904\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud589\ub3d9<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>\ubc94\uc704\uac00 \uc9c0\uc815\ub41c \uc800\uc7a5\uc18c<\/strong> \uc18c\uac1c\ub429\ub2c8\ub2e4:\n<ul class=\"wp-block-list\">\n<li>\uc571\uc740 \ud574\ub2f9 \uc571\ubcc4 \ub514\ub809\ud1a0\ub9ac\ub85c \uc81c\ud55c\ub429\ub2c8\ub2e4.<br><code>Android\/\ub370\uc774\ud130\/\uadc0\ud558\uc758 \ud328\ud0a4\uc9c0 \uc774\ub984\/<\/code><\/li>\n\n\n\n<li>\ub2e4\ub978 \uc571\uc758 \ud30c\uc77c\uc5d0 \ub300\ud55c \uc9c1\uc811 \uc561\uc138\uc2a4\uac00 \uc81c\ud55c\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ubbf8\ub514\uc5b4 \ud30c\uc77c(\uc774\ubbf8\uc9c0, \ube44\ub514\uc624, \uc624\ub514\uc624)\uc740 \ub2e4\uc74c\uc744 \ud1b5\ud574 \uc561\uc138\uc2a4\ud574\uc57c \ud569\ub2c8\ub2e4. <strong>\ubbf8\ub514\uc5b4\uc2a4\ud1a0\uc5b4<\/strong><\/li>\n\n\n\n<li><code>requestLegacyExternalStorage=true<\/code> \uc77c\uc2dc\uc801\uc73c\ub85c \uc624\ub798\ub41c \ud589\ub3d9\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4<br>(\ud558\uc9c0\ub9cc \uc774 \ud50c\ub798\uadf8\ub294 Android 11\ubd80\ud130 \ubb34\uc2dc\ub429\ub2c8\ub2e4)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uad8c\uc7a5\ub418\ub294 \uc811\uadfc \ubc29\uc2dd<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc774\ubbf8\uc9c0\/\ube44\ub514\uc624\/\uc624\ub514\uc624\uc758 \uacbd\uc6b0: \uc0ac\uc6a9 <strong>\ubbf8\ub514\uc5b4\uc2a4\ud1a0\uc5b4<\/strong><\/li>\n\n\n\n<li>\uac1c\uc778 \ud30c\uc77c\uc758 \uacbd\uc6b0: \uc0ac\uc6a9 <code>getExternalFilesDir()<\/code> \ub610\ub294 <code>getDataDir()<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Android 11(API 30) \u2013 \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c \uc801\uc6a9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uad8c\ud55c<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc77d\uae30<\/code> \uc791\ub3d9\ud558\uc9c0\ub9cc MediaStore\uc5d0\uc11c \uad00\ub9ac\ud558\ub294 \ubbf8\ub514\uc5b4\uc5d0\ub9cc \ud574\ub2f9<\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc4f0\uae30<\/code> \ud6a8\uacfc\uc801\uc73c\ub85c <strong>\uc4f8\ubaa8\uc5c6\ub294<\/strong> \uc77c\ubc18 \uc678\ubd80 \uc800\uc7a5\uc18c\uc6a9<\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \ud2b9\ubcc4\ud55c &quot;\ubaa8\ub4e0 \ud30c\uc77c \uc561\uc138\uc2a4&quot; \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub3c4\uc785\ub428<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud589\ub3d9<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>requestLegacyExternalStorage=true<\/code> \ub354 \uc774\uc0c1 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c\ub294 <strong>\ud56d\uc0c1 \ucf1c\uc838 \uc788\uc74c<\/strong><\/li>\n\n\n\n<li>\uc5d0 \ub300\ud55c \uc811\uadfc <code>\/SD\uce74\ub4dc\/<\/code> \ub8e8\ud2b8\uac00 \ub9c9\ud614\uc2b5\ub2c8\ub2e4<\/li>\n\n\n\n<li>\uc571\uc740 \ub2e4\uc74c\ub9cc \uac00\ub2a5\ud569\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>\uc790\uc2e0\uc758 \uac1c\uc778 \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc811\uadfc\ud558\uc138\uc694<\/li>\n\n\n\n<li>\uacf5\uc720 \ubbf8\ub514\uc5b4\uc5d0 \uc561\uc138\uc2a4\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc138\uc694. <strong>\ubbf8\ub514\uc5b4\uc2a4\ud1a0\uc5b4<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uad8c\uc7a5\ub418\ub294 \uc811\uadfc \ubc29\uc2dd<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc77c\ubc18\uc801\uc778 \uc571\uc758 \uacbd\uc6b0:\n<ul class=\"wp-block-list\">\n<li>MediaStore\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 <strong>SAF<\/strong> (<code>\ubb38\uc11c \uc5f4\uae30 \uc791\uc5c5<\/code>, <code>\ubb38\uc11c \uc0dd\uc131 \uc791\uc5c5<\/code>) \uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \ud30c\uc77c\uc758 \uacbd\uc6b0<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uace0\ub824\ub9cc \ud558\uc138\uc694 <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \uadc0\ud558\uc758 \uc571\uc774 \uc2e4\uc81c\ub85c \ud30c\uc77c \uad00\ub9ac\uc790, \ubc31\uc5c5 \ub3c4\uad6c, \ubcf4\uc548 \uc571 \ub4f1\uc774\ub77c\uba74.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Android 13(API 33) \u2013 \ubbf8\ub514\uc5b4 \uad8c\ud55c \ubd84\ud560<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uad8c\ud55c<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>\ubbf8\ub514\uc5b4 \uc774\ubbf8\uc9c0 \uc77d\uae30<\/code> \u2013 \uc774\ubbf8\uc9c0 \uc811\uadfc<\/li>\n\n\n\n<li><code>\ubbf8\ub514\uc5b4_\ube44\ub514\uc624_\uc77d\uae30<\/code> \u2013 \ube44\ub514\uc624\uc5d0 \uc811\uc18d\ud558\uc138\uc694<\/li>\n\n\n\n<li><code>\ubbf8\ub514\uc5b4 \uc624\ub514\uc624 \uc77d\uae30<\/code> \u2013 \uc624\ub514\uc624\uc5d0 \uc561\uc138\uc2a4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud589\ub3d9<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ubbf8\ub514\uc5b4 \uad8c\ud55c\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <strong>\uc138\ubc00\ud55c<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\uc0ac\uc6a9\uc790\ub294 \uc774\ubbf8\uc9c0 \uc811\uadfc\ub9cc \ud5c8\uc6a9\ud558\uac70\ub098, \ube44\ub514\uc624 \uc811\uadfc\ub9cc \ud5c8\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Android 11\uc758 \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c \uaddc\uce59\uc740 \uadf8\ub300\ub85c \uc720\uc9c0\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uad8c\uc7a5\ub418\ub294 \uc811\uadfc \ubc29\uc2dd<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\ud544\uc694\ud55c \ud2b9\uc815 \ubbf8\ub514\uc5b4 \uad8c\ud55c\uc744 \uc694\uccad\ud558\uc138\uc694.\n<ul class=\"wp-block-list\">\n<li>\uc608\ub97c \ub4e4\uc5b4, \uc774\ubbf8\uc9c0\ub85c\ub9cc \uc791\uc5c5\ud558\ub294 \uacbd\uc6b0 \ub2e4\uc74c\ub9cc \uc694\uccad\ud558\uc138\uc694. <code>\ubbf8\ub514\uc5b4 \uc774\ubbf8\uc9c0 \uc77d\uae30<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ud558\ub2e4 <strong>~ \uc544\ub2c8\ub2e4<\/strong> \uc694\uad6c <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uc77d\uae30<\/code> Android 13 \uc774\uc0c1\uc5d0\uc11c\ub294 \uc0c8\ub85c\uc6b4 \ubbf8\ub514\uc5b4 \uad8c\ud55c\uc73c\ub85c \ub300\uccb4\ub418\ubbc0\ub85c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ube60\ub978 \ub9e4\ud2b8\ub9ad\uc2a4(\uac1c\ub150\uc801)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\uc548\ub4dc\ub85c\uc774\ub4dc 9 \uc774\ud558<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc678\ubd80 \uc800\uc7a5\uc18c\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub294 READ\/WRITE_EXTERNAL_STORAGE\ub85c \uc81c\uc5b4\ub418\ub294 \uad11\ubc94\uc704\ud55c \uc561\uc138\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc548\ub4dc\ub85c\uc774\ub4dc 10<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc2a4\ucf54\ud504 \uc2a4\ud1a0\ub9ac\uc9c0\uac00 \ub3c4\uc785\ub418\uc5c8\uc9c0\ub9cc \ud0c8\ucd9c\uad6c\uac00 \uc788\uc2b5\ub2c8\ub2e4(<code>\uc694\uccad\ub808\uac70\uc2dc\uc678\ubd80\uc800\uc7a5\uc18c<\/code>)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c\uac00 \uc801\uc6a9\ub418\uace0 \ub808\uac70\uc2dc \uc2a4\uc704\uce58\uac00 \uc81c\uac70\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \ub098\ud0c0\ub098\uc9c0\ub9cc \ub9e4\uc6b0 \uc81c\ud55c\uc801\uc785\ub2c8\ub2e4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc548\ub4dc\ub85c\uc774\ub4dc 13<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ubbf8\ub514\uc5b4 \uc811\uadfc\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ubd84\ud560\ub429\ub2c8\ub2e4. <code>\ubbf8\ub514\uc5b4 \uc77d\uae30*<\/code> \uad8c\ud55c<\/li>\n\n\n\n<li>\ub3d9\uc77c\ud55c \ubc94\uc704 \uc9c0\uc815 \uc800\uc7a5\uc18c \uaddc\uce59\uc774\uc9c0\ub9cc \ub354 \uc138\ubd84\ud654\ub41c \uc0ac\uc6a9\uc790 \uc81c\uc5b4\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. \ud14c\uc774\ud06c\uc5b4\uc6e8\uc774<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&quot;\ud55c Android 13 \uae30\uae30\uc5d0\uc11c\ub9cc \uc791\ub3d9\ud55c\ub2e4&quot;\uace0 \ud574\uc11c \ub2e4\ub978 \ubaa8\ub4e0 \uae30\uae30\uc5d0\uc11c \uc791\ub3d9\ud55c\ub2e4\ub294 \ub73b\uc740 \uc544\ub2d9\ub2c8\ub2e4. OEM\uacfc \uc2dc\uc2a4\ud15c \ubcf4\uace0\uc11c\ub294 \uc77c\uad00\ub418\uc9c0 \uc54a\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc744 \uc704\ud55c <strong>\uc548\ub4dc\ub85c\uc774\ub4dc 11 \uc774\uc0c1<\/strong>, \ub2e4\uc74c\uacfc \uac19\uc740 \uad00\uc810\uc5d0\uc11c \uc0dd\uac01\ud574 \ubcf4\uc138\uc694.\n<ul class=\"wp-block-list\">\n<li><strong>\uc571 \uac1c\uc778 \ub514\ub809\ud1a0\ub9ac + MediaStore + SAF<\/strong>, &quot;\uc6d0\uc2dc&quot;\uac00 \uc544\ub2d9\ub2c8\ub2e4 <code>\/SD\uce74\ub4dc<\/code> \uc785\uc7a5&quot;\u201d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ub300\ud558\ub2e4 <code>\uc678\ubd80 \uc800\uc7a5\uc18c \uad00\ub9ac<\/code> \ub85c\uc11c <strong>\ucd5c\ud6c4\uc758 \uc218\ub2e8<\/strong> \ub9e4\uc6b0 \uad6c\uccb4\uc801\uc778 \uc571 \uc720\ud615, \ud2b9\ud788 Google Play\uc5d0 \uac8c\uc2dc\ud560 \uacc4\ud68d\uc774\ub77c\uba74 \ub354\uc6b1 \uadf8\ub807\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ud56d\uc0c1 \ud14c\uc2a4\ud2b8\ud558\uc138\uc694 <strong>\ub2e4\uc591\ud55c \uae30\uae30\uc640 \uc548\ub4dc\ub85c\uc774\ub4dc \ubc84\uc804<\/strong>, \ud2b9\ud788 \uad8c\ud55c\uacfc \uc800\uc7a5\uacfc \uad00\ub828\ub41c \uacbd\uc6b0\uc5d0 \uadf8\ub807\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\uc774 \uae00\uc740 \uc81c\uac00 \uc2e4\uc81c \uc548\ub4dc\ub85c\uc774\ub4dc \ud504\ub85c\uc81d\ud2b8(\uc548\ub4dc\ub85c\uc774\ub4dc 13\uc744 \ud0d1\uc7ac\ud55c \uc0bc\uc131 \uae30\uae30 \ud3ec\ud568)\uc5d0\uc11c \uc9c1\uc811 \ub514\ubc84\uae45\ud558\uace0 \uc218\uc815\ud55c \ub0b4\uc6a9\uc744 \ubc14\ud0d5\uc73c\ub85c \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. GPT\ub294 \ub2e8\uc9c0 \ubc88\uc5ed\uacfc \ud45c\ud604 \ub2e4\ub4ec\uae30\uc5d0 \ub3c4\uc6c0\uc744 \uc8fc\uc5c8\uc744 \ubfd0\uc774\uba70, \ubaa8\ub4e0 \uae30\uc220\uc801 \ub0b4\uc6a9\uacfc \uacb0\uc815\uc740 \uc800\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>\uc544\uc8fc \uac04\ub2e8\ud55c \uc694\uad6c\uc0ac\ud56d, \uc989 \uc774\ubbf8\uc9c0\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \ub85c\uceec \uc800\uc7a5\uc18c\uc5d0 \uc800\uc7a5\ud558\ub294 \uac83\uc744 \uad6c\ud604\ud558\ub824\uace0 \ud588\uc744 \ub54c, \ucc98\uc74c\uc5d0\ub294 \ubaa8\ub4e0 \uac83\uc774 \uad1c\ucc2e\uc544 \ubcf4\uc600\uc2b5\ub2c8\ub2e4. \uac19\uc740 \ucf54\ub4dc, \uac19\uc740 \uae30\ub2a5\uc778\ub370, Android 13\uc758 \ud55c \uae30\uae30\ub294 \uad8c\ud55c \uc694\uccad \uba54\uc2dc\uc9c0\ub97c \ud45c\uc2dc\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud574\uc11c \uc774 \uc791\uc740 &quot;\uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc&quot; \uc791\uc5c5\uc774 [\u2026]\ub77c\ub294 \uc2ec\uce35\uc801\uc778 \uc791\uc5c5\uc73c\ub85c \ubc14\ub00c\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>","protected":false},"author":10,"featured_media":3804,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"","rank_math_description":"","footnotes":""},"categories":[35],"tags":[],"class_list":["post-3803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledge-hub"],"_links":{"self":[{"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/posts\/3803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/comments?post=3803"}],"version-history":[{"count":4,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/posts\/3803\/revisions"}],"predecessor-version":[{"id":3812,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/posts\/3803\/revisions\/3812"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/media\/3804"}],"wp:attachment":[{"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/media?parent=3803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/categories?post=3803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imastudio.com\/ko\/wp-json\/wp\/v2\/tags?post=3803"}],"curies":[{"name":"\uc6cc\ub4dc\ud504\ub808\uc2a4","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}