{"id":1125,"date":"2013-02-23T12:30:16","date_gmt":"2013-02-23T03:30:16","guid":{"rendered":"http:\/\/adreamer.godohosting.com\/?p=1125"},"modified":"2013-02-23T12:32:06","modified_gmt":"2013-02-23T03:32:06","slug":"%ec%95%88%eb%93%9c%eb%a1%9c%ec%9d%b4%eb%93%9c-%ec%9e%a5%ec%b9%98%ec%97%90%ec%84%9c-%ec%9d%b4%eb%a9%94%ec%9d%bc-%ec%a3%bc%ec%86%8c-%ec%9d%bd%ec%96%b4%ec%98%a4%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/milkdrops.net\/index.php\/archives\/1125","title":{"rendered":"\uc548\ub4dc\ub85c\uc774\ub4dc \uc7a5\uce58\uc5d0\uc11c \uc774\uba54\uc77c \uc8fc\uc18c \uc77d\uc5b4\uc624\uae30"},"content":{"rendered":"<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uc571\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc758 \uc774\uba54\uc77c \uc8fc\uc18c\ub97c \uc77d\uc5b4\uc624\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n<p>\ud68c\uc6d0\uac00\uc785\uc2dc\uc5d0 \ubbf8\ub9ac \uc785\ub825 \uc2dc\ucf1c\ub46c\uc11c \uc0ac\uc6a9\uc790 \ud3b8\uc758\uc131\uc744 \ub192\uc774\ub294\ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70 \uc545\uc6a9\ud558\uc9c4 \ub9d0\uc544\uc57c\ud560 \uac83 \uc785\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2>1. <a href=\"http:\/\/developer.android.com\/reference\/android\/accounts\/AccountManager.html\">AccountManager<\/a> \uc0ac\uc6a9\ud558\uae30 (API 5 \uc774\uc0c1)<\/h2>\n<p><a href=\"http:\/\/developer.android.com\/reference\/android\/accounts\/AccountManager.html\">AccountManager<\/a>\ub97c \uc774\uc6a9\ud558\uba74 \u00a0\uae30\uae30\uc5d0 \ub4f1\ub85d\ub41c \ubaa8\ub4e0 \uacc4\uc815\uc774\ub984\uc744 \ubd88\ub7ec\uc62c \uc218 \uc788\uace0 \uacc4\uc815\uc774\ub984\uc774 \uc774\uba54\uc77c\uc778 \uacbd\uc6b0\uac00 \ub9ce\uae30 \ub54c\ubb38\uc5d0 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre lang=\"java\">Pattern emailPattern = Patterns.EMAIL_ADDRESS; \/\/ API level 8+\r\nAccount[] accounts = AccountManager.get(context).getAccounts();\r\nfor (Account account : accounts) {\r\n    if (emailPattern.matcher(account.name).matches()) {\r\n        String possibleEmail = account.name;\r\n        ...\r\n    }\r\n}<\/pre>\n<p>AccountManager\ub97c \uc0ac\uc6a9\ud558\ub824\uba74 <code>GET_ACCOUNTS<\/code> \uad8c\ud55c\uc774 \ud544\uc694\ud558\ub2c8 <code>AndroidManifest.xml<\/code>\uc5d0 \uad8c\ud55c\uc744 \ucd94\uac00\ud574\ub46c\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<pre lang=\"xml\" escaped=\"true\">&lt;uses-permission android:name=\"android.permission.GET_ACCOUNTS\" \/&gt;<\/pre>\n<p>&nbsp;<\/p>\n<h2>2. <a href=\"http:\/\/developer.android.com\/reference\/android\/provider\/ContactsContract.Profile.html\">ContactsContract.Profile<\/a> \uc774\uc6a9\ud558\uae30 (API 14 \uc774\uc0c1)<\/h2>\n<p>ICS\ubd80\ud130\ub294 \uc0ac\uc6a9\uc790\uc758 \ud504\ub85c\ud544\uc5d0 \uc811\uadfc\ud558\uc5ec \uc774\uba54\uc77c\uc744 \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre lang=\"java\" escaped=\"true\">public class ExampleActivity extends Activity implements LoaderManager.LoaderCallbacks&lt;Cursor&gt; {\r\n    public void onCreate(Bundle savedInstanceState) {\r\n        super.onCreate(savedInstanceState);\r\n        setContentView(R.layout.activity_main);\r\n        getLoaderManager().initLoader(0, null, this);\r\n    }\r\n\r\n    @Override\r\n    public Loader&lt;Cursor&gt; onCreateLoader(int id, Bundle arguments) {\r\n        return new CursorLoader(this,\r\n                \/\/ Retrieve data rows for the device user's 'profile' contact.\r\n                Uri.withAppendedPath(\r\n                        ContactsContract.Profile.CONTENT_URI,\r\n                        ContactsContract.Contacts.Data.CONTENT_DIRECTORY),\r\n                ProfileQuery.PROJECTION,\r\n\r\n                \/\/ Select only email addresses.\r\n                ContactsContract.Contacts.Data.MIMETYPE + \" = ?\",\r\n                new String[]{ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE},\r\n\r\n                \/\/ Show primary email addresses first. Note that there won't be\r\n                \/\/ a primary email address if the user hasn't specified one.\r\n                ContactsContract.Contacts.Data.IS_PRIMARY + \" DESC\");\r\n    }\r\n\r\n    @Override\r\n    public void onLoadFinished(Loader&lt;Cursor&gt; cursorLoader, Cursor cursor) {\r\n        List&lt;String&gt; emails = new ArrayList&lt;String&gt;();\r\n        cursor.moveToFirst();\r\n        while (!cursor.isAfterLast()) {\r\n            emails.add(cursor.getString(ProfileQuery.ADDRESS));\r\n            \/\/ Potentially filter on ProfileQuery.IS_PRIMARY\r\n            cursor.moveToNext();\r\n        }\r\n\r\n        ...\r\n    }\r\n\r\n    @Override\r\n    public void onLoaderReset(Loader&lt;Cursor&gt; cursorLoader) {\r\n    }\r\n\r\n    private interface ProfileQuery {\r\n        String[] PROJECTION = {\r\n                ContactsContract.CommonDataKinds.Email.ADDRESS,\r\n                ContactsContract.CommonDataKinds.Email.IS_PRIMARY,\r\n        };\r\n\r\n        int ADDRESS = 0;\r\n        int IS_PRIMARY = 1;\r\n    }\r\n}<\/pre>\n<p><code>READ_PROFILE<\/code>\uacfc <code>READ_CONTACTS<\/code>\uc758 \ub450 \uac00\uc9c0 \uad8c\ud55c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<pre lang=\"xml\" escaped=\"true\">&lt;uses-permission android:name=\"android.permission.READ_PROFILE\" \/&gt;\r\n&lt;uses-permission android:name=\"android.permission.READ_CONTACTS\" \/&gt;<\/pre>\n<p>\ucc38\uc870 :\u00a0<a href=\"http:\/\/stackoverflow.com\/questions\/2112965\/how-to-get-the-android-devices-primary-e-mail-address\">How to get the Android device&#8217;s primary e-mail address<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub4dc\ub85c\uc774\ub4dc \uc571\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc758 \uc774\uba54\uc77c \uc8fc\uc18c\ub97c \uc77d\uc5b4\uc624\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \ud68c\uc6d0\uac00\uc785\uc2dc\uc5d0 \ubbf8\ub9ac \uc785\ub825 \uc2dc\ucf1c\ub46c\uc11c \uc0ac\uc6a9\uc790 \ud3b8\uc758\uc131\uc744 \ub192\uc774\ub294\ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70 \uc545\uc6a9\ud558\uc9c4 \ub9d0\uc544\uc57c\ud560 \uac83 \uc785\ub2c8\ub2e4. &nbsp; 1. AccountManager \uc0ac\uc6a9\ud558\uae30 (API 5 \uc774\uc0c1) AccountManager\ub97c \uc774\uc6a9\ud558\uba74 \u00a0\uae30\uae30\uc5d0 \ub4f1\ub85d\ub41c \ubaa8\ub4e0 \uacc4\uc815\uc774\ub984\uc744 \ubd88\ub7ec\uc62c \uc218 \uc788\uace0 \uacc4\uc815\uc774\ub984\uc774 \uc774\uba54\uc77c\uc778 \uacbd\uc6b0\uac00 \ub9ce\uae30 \ub54c\ubb38\uc5d0 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Pattern emailPattern = Patterns.EMAIL_ADDRESS; \/\/ API level 8+ Account[] accounts &hellip; <a href=\"http:\/\/milkdrops.net\/index.php\/archives\/1125\" class=\"more-link\"><span class=\"screen-reader-text\">\uc548\ub4dc\ub85c\uc774\ub4dc \uc7a5\uce58\uc5d0\uc11c \uc774\uba54\uc77c \uc8fc\uc18c \uc77d\uc5b4\uc624\uae30<\/span> \ub354\ubcf4\uae30 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[11,17],"tags":[77,208,270,207],"class_list":["post-1125","post","type-post","status-publish","format-standard","hentry","category-tips","category-17","tag-android","tag-e-mail","tag-270","tag-207"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/posts\/1125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/comments?post=1125"}],"version-history":[{"count":5,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/posts\/1125\/revisions"}],"predecessor-version":[{"id":1130,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/posts\/1125\/revisions\/1130"}],"wp:attachment":[{"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/media?parent=1125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/categories?post=1125"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/milkdrops.net\/index.php\/wp-json\/wp\/v2\/tags?post=1125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}