{"id":3651,"date":"2015-11-24T10:19:44","date_gmt":"2015-11-24T10:19:44","guid":{"rendered":"http:\/\/www.fandroid.info\/?page_id=3651"},"modified":"2015-11-24T11:18:39","modified_gmt":"2015-11-24T11:18:39","slug":"otpravka-fajlov-na-drugoe-android-ustrojstvo-s-ispolzovaniem-nfs","status":"publish","type":"page","link":"https:\/\/www.fandroid.info\/otpravka-fajlov-na-drugoe-android-ustrojstvo-s-ispolzovaniem-nfs\/","title":{"rendered":"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 android \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c NFS"},"content":{"rendered":"
\u042d\u0442\u043e\u0442 \u0443\u0440\u043e\u043a \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0430\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Android Beam file transfer. \u0414\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0432\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 NFC \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0435, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 NFC, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 URI \u0434\u043b\u044f Android Beam file transfer.<\/p>\n
\u0424\u0443\u043d\u043a\u0446\u0438\u044f Android Beam file transfer \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n
File.setReadable(true,false)<\/a><\/code>.<\/li>\n- \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c URI \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c. Android Beam file transfer \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438
FileProvider.getUriForFile<\/a><\/code>.\u00a0[wpanchor id=»1″]<\/li>\n- <\/li>\n<\/ol>\n
\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435<\/h2>\n
\n
\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043e\u0431\u044a\u044f\u0432\u0438\u0432 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e.<\/p>\n
\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h3>\n
\u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Android Beam file transfer \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NFC, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:<\/p>\n
\nNFC<\/a><\/code><\/dt>\n- \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e NFC. \u0427\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e
<manifest><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n\u00a0 \u00a0 <uses-permission android:name=\"android.permission.NFC\" \/><\/pre>\n <\/p>\n<\/dd>\n
READ_EXTERNAL_STORAGE<\/a><\/code><\/dt>\n- \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u0427\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e
<manifest><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n\u00a0 \u00a0 <uses-permission\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 android:name=\"android.permission.READ_EXTERNAL_STORAGE\" \/><\/pre>\n <\/p>\n
\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u041f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 Android 4.2.2 (\u0443\u0440\u043e\u0432\u0435\u043d\u044c API 17), \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u044e\u0442\u0441\u044f. \u0411\u0443\u0434\u0443\u0449\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u044f\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439. \u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0435\u0439\u0447\u0430\u0441, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u043d\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c.<\/p>\n<\/dd>\n<\/dl>\n\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e NFC<\/h3>\n
\u0423\u043a\u0430\u0436\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 NFC, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 <uses-feature><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a\u0430\u043a \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439<manifest><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 android:required<\/code> \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432 true<\/code> , \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 NFC.<\/p>\n\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u0442\u044c <uses-feature><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442:<\/p>\n<uses-feature\r\n\u00a0 \u00a0 android:name=\"android.hardware.nfc\"\r\n\u00a0 \u00a0 android:required=\"true\" \/><\/pre>\n <\/p>\n
\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 NFC \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0430\u0436\u0435, \u0435\u0441\u043b\u0438 NFC \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044candroid:required<\/code> \u043a false<\/code>, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 NFC \u0432 \u043a\u043e\u0434\u0435.<\/p>\n\u0423\u043a\u0430\u0436\u0438\u0442\u0435 Android Beam file transfer<\/h3>\n
\u0422\u0430\u043a \u043a\u0430\u043a Android Beam file transfer \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Android 4.1 (API \u0443\u0440\u043e\u0432\u0435\u043d\u044c 16) \u0438 \u0432\u044b\u0448\u0435, \u0435\u0441\u043b\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 Android Beam file transfer, \u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c <uses-sdk><\/a><\/code> \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441 android:minSdkVersion<\/a>=\"16\"<\/code> \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c android:minSdkVersion<\/a><\/code> \u0432 \u0434\u0440\u0443\u0433\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 \u043a\u043e\u0434\u0435, \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435.\u00a0[wpanchor id=»2″]<\/p>\n <\/p>\n
\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Android Beam file transfer<\/h2>\n
\n
\u0427\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0447\u0442\u043e NFC \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442:<\/p>\n
<uses-feature android:name=\"android.hardware.nfc\" android:required=\"false\" \/><\/pre>\n <\/p>\n
\u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 android:required<\/a>=\"false\"<\/code>, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u0438 NFC \u0438 Android Beam file transfer.<\/p>\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Android Beam file transfer \u0432 \u043a\u043e\u0434\u0435, \u043d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 NFC, \u0432\u044b\u0437\u0432\u0430\u0432 PackageManager.hasSystemFeature()<\/a><\/code> \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043cFEATURE_NFC<\/a><\/code>. \u0417\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432\u0435\u0440\u0441\u0438\u044f Android \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Android Beam file transfer, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 SDK_INT<\/a><\/code>. \u0415\u0441\u043b\u0438 Android Beam file transfer \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 NFC, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c NFC. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\npublic class MainActivity extends Activity {\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 NfcAdapter mNfcAdapter;\r\n\u00a0 \u00a0 \/\/ Flag to indicate that Android Beam is available\r\n\u00a0 \u00a0 boolean mAndroidBeamAvailable \u00a0= false;\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 @Override\r\n\u00a0 \u00a0 protected void onCreate(Bundle savedInstanceState) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ NFC isn't available on the device\r\n\u00a0 \u00a0 \u00a0 \u00a0 if (!PackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0* Disable NFC features here.\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0* For example, disable menu items or buttons that activate\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0* NFC-related features\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ Android Beam file transfer isn't supported\r\n\u00a0 \u00a0 \u00a0 \u00a0 } else if (Build.VERSION.SDK_INT <\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Build.VERSION_CODES.JELLY_BEAN_MR1) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ If Android Beam isn't available, don't continue.\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mAndroidBeamAvailable = false;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0* Disable Android Beam file transfer features here.\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ Android Beam file transfer is available, continue\r\n\u00a0 \u00a0 \u00a0 \u00a0 } else {\r\n\u00a0 \u00a0 \u00a0 \u00a0 mNfcAdapter = NfcAdapter.getDefaultAdapter(this);\r\n\u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 }\r\n\u00a0 \u00a0 ...\r\n}<\/pre>\n <\/p>\n
[wpanchor id=»3″]<\/h2>\n<\/h2>\n\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b\u044b<\/h2>\n
\n
\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Android Beam file transfer, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u044b\u0437\u043e\u0432\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 Android Beam file transfer \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0445\u043e\u0447\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 NFC \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u0412 \u044d\u0442\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u0432\u0435\u0440\u043d\u0438\u0442\u0435 \u043c\u0430\u0441\u0441\u0438\u0432 Uri<\/a><\/code> \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. Android Beam file transfer \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u044d\u0442\u0438\u043c\u0438 URI, \u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e.<\/p>\n\u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 NfcAdapter.CreateBeamUrisCallback<\/a><\/code>\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434 createBeamUris()<\/a><\/code>. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\npublic class MainActivity extends Activity {\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \/\/ List of URIs to provide to Android Beam\r\n\u00a0 \u00a0 private Uri[] mFileUris = new Uri[10];\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \/**\r\n\u00a0 \u00a0 \u00a0* Callback that Android Beam file transfer calls to get\r\n\u00a0 \u00a0 \u00a0* files to share\r\n\u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 private class FileUriCallback implements\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 NfcAdapter.CreateBeamUrisCallback {\r\n\u00a0 \u00a0 \u00a0 \u00a0 public FileUriCallback() {\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/**\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0* Create content URIs as needed to share with another device\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 \u00a0 \u00a0 @Override\r\n\u00a0 \u00a0 \u00a0 \u00a0 public Uri[] createBeamUris(NfcEvent event) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return mFileUris;\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 }\r\n\u00a0 \u00a0 ...\r\n}<\/pre>\n <\/p>\n
\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0434\u043b\u044f Android Beam file transfer, \u0432\u044b\u0437\u0432\u0430\u0432 setBeamPushUrisCallback()<\/a><\/code>. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\npublic class MainActivity extends Activity {\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \/\/ Instance that returns available files from this app\r\n\u00a0 \u00a0 private FileUriCallback mFileUriCallback;\r\n\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 @Override\r\n\u00a0 \u00a0 protected void onCreate(Bundle savedInstanceState) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ Android Beam file transfer is available, continue\r\n\u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \u00a0 \u00a0 mNfcAdapter = NfcAdapter.getDefaultAdapter(this);\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0* Instantiate a new FileUriCallback to handle requests for\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0* URIs\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 \u00a0 \u00a0 mFileUriCallback = new FileUriCallback();\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ Set the dynamic callback for URI requests.\r\n\u00a0 \u00a0 \u00a0 \u00a0 mNfcAdapter.setBeamPushUrisCallback(mFileUriCallback,this);\r\n\u00a0 \u00a0 \u00a0 \u00a0 ...\r\n\u00a0 \u00a0 }\r\n\u00a0 \u00a0 ...\r\n}<\/pre>\n <\/p>\n
\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 Uri<\/a><\/code> \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 NFC \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 NfcAdapter<\/a><\/code> . \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u0435\u0441\u043b\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c URI, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c, \u0434\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f NFC. \u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435, \u0441\u043c. NfcAdapter.setBeamPushUris()<\/a><\/code>.\u00a0[wpanchor id=»4″]<\/p>\n\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438<\/h2>\n
\n
\u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 NFC \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 URI \u0444\u0430\u0439\u043b\u0430 (URI \u0441file<\/code> \u0441\u0445\u0435\u043c\u043e\u0439) \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 URI \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 Uri<\/a><\/code> \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c URI \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c URI \u0432 \u043c\u0430\u0441\u0441\u0438\u0432:<\/p>\n\u00a0 \u00a0 \u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0* Create a list of URIs, get a File,\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0* and set its permissions\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 \u00a0 \u00a0 private Uri[] mFileUris = new Uri[10];\r\n\u00a0 \u00a0 \u00a0 \u00a0 String transferFile = \"transferimage.jpg\";\r\n\u00a0 \u00a0 \u00a0 \u00a0 File extDir = getExternalFilesDir(null);\r\n\u00a0 \u00a0 \u00a0 \u00a0 File requestFile = new File(extDir, transferFile);\r\n\u00a0 \u00a0 \u00a0 \u00a0 requestFile.setReadable(true, false);\r\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ Get a URI for the File and add it to the list of URIs\r\n\u00a0 \u00a0 \u00a0 \u00a0 fileUri = Uri.fromFile(requestFile);\r\n\u00a0 \u00a0 \u00a0 \u00a0 if (fileUri != null) {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mFileUris[0] = fileUri;\r\n\u00a0 \u00a0 \u00a0 \u00a0 } else {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Log.e(\"My Activity\", \"No File URI available for file.\");\r\n\u00a0 \u00a0 \u00a0 \u00a0 }<\/pre>\n\u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435, \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Creative Commons Attribution 2.5<\/a>. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0441\u043c. \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430<\/a>.<\/p>\n<\/div>\n<\/div>\n