亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 5868 | 回復(fù): 1
打印 上一主題 下一主題

使用NFC分享 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-08-05 13:24 |只看該作者 |倒序?yàn)g覽
來(lái)源官網(wǎng),總結(jié)用.
指定NFC功能
  1. /**通過(guò)添加<uses-feature>標(biāo)簽作為一個(gè)<manifest>標(biāo)簽的子標(biāo)簽,指定我們的應(yīng)用程序使用NFC。
  2. 設(shè)置android:required屬性字段為true,使得我們的應(yīng)用程序只有在NFC可以使用時(shí)才能運(yùn)行。

  3. 下面的代碼展示了如何指定<uses-feature>標(biāo)簽:*/

  4. <uses-feature
  5.     android:name="android.hardware.nfc"
  6.     android:required="true" />
  7. /**注意,如果應(yīng)用程序?qū)FC作為一個(gè)可選的功能,期望在NFC不可使用時(shí)程序還能繼續(xù)執(zhí)行,
  8. 我們就應(yīng)該將android:required屬性字段設(shè)為false,然后在代碼中測(cè)試NFC的可用性。*/
復(fù)制代碼
測(cè)試設(shè)備是否支持Android Beam文件傳輸
  1. //應(yīng)使用以下標(biāo)簽使得在Manifest清單文件中指定NFC是可選的:

  2. <uses-feature android:name="android.hardware.nfc" android:required="false" />

  3. /**如果設(shè)置了android:required="false",則我們必須在代碼中測(cè)試設(shè)備是否支持NFC和
  4. Android Beam文件傳輸。

  5. 為在代碼中測(cè)試是否支持Android Beam文件傳輸,我們先通過(guò)PackageManager.hasSystemFeature()
  6. 和參數(shù)FEATURE_NFC測(cè)試設(shè)備是否支持NFC。下一步,通過(guò)SDK_INT的值測(cè)試系統(tǒng)版本是否支持
  7. Android Beam文件傳輸。如果設(shè)備支持Android Beam文件傳輸,
  8. 那么獲得一個(gè)NFC控制器的實(shí)例,它能允許我們與NFC硬件進(jìn)行通信*/

  9. public class MainActivity extends Activity {
  10.     ...
  11.     NfcAdapter mNfcAdapter;
  12.     // Flag to indicate that Android Beam is available
  13.     boolean mAndroidBeamAvailable  = false;
  14.     ...
  15.     @Override
  16.     protected void onCreate(Bundle savedInstanceState) {
  17.         ...
  18.         // NFC isn't available on the device
  19.         if (!PackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)) {
  20.             /*
  21.              * Disable NFC features here.
  22.              * For example, disable menu items or buttons that activate
  23.              * NFC-related features
  24.              */
  25.             ...
  26.         // Android Beam file transfer isn't supported
  27.         } else if (Build.VERSION.SDK_INT <
  28.                 Build.VERSION_CODES.JELLY_BEAN_MR1) {
  29.             // If Android Beam isn't available, don't continue.
  30.             mAndroidBeamAvailable = false;
  31.             /*
  32.              * Disable Android Beam file transfer features here.
  33.              */
  34.             ...
  35.         // Android Beam file transfer is available, continue
  36.         } else {
  37.         mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
  38.         ...
  39.         }
  40.     }
  41.     ...
  42. }
復(fù)制代碼
創(chuàng)建一個(gè)提供文件的回調(diào)函數(shù)
  1. /**一旦確認(rèn)了設(shè)備支持Android Beam文件傳輸,那么可以添加一個(gè)回調(diào)函數(shù),
  2. 當(dāng)Android Beam文件傳輸監(jiān)測(cè)到用戶希望向另一個(gè)支持NFC的設(shè)備發(fā)送文件時(shí),
  3. 系統(tǒng)就會(huì)調(diào)用該函數(shù)。在該回調(diào)函數(shù)中,返回一個(gè)Uri對(duì)象數(shù)組,
  4. Android Beam文件傳輸會(huì)將URI對(duì)應(yīng)的文件拷貝給要接收這些文件的設(shè)備。

  5. 要添加這個(gè)回調(diào)函數(shù),需要實(shí)現(xiàn)NfcAdapter.CreateBeamUrisCallback接口
  6. 和它的方法:createBeamUris(),下面是一個(gè)例子:*/

  7. public class MainActivity extends Activity {
  8.     ...
  9.     // List of URIs to provide to Android Beam
  10.     private Uri[] mFileUris = new Uri[10];
  11.     ...
  12.     /**
  13.      * Callback that Android Beam file transfer calls to get
  14.      * files to share
  15.      */
  16.     private class FileUriCallback implements
  17.             NfcAdapter.CreateBeamUrisCallback {
  18.         public FileUriCallback() {
  19.         }
  20.         /**
  21.          * Create content URIs as needed to share with another device
  22.          */
  23.         @Override
  24.         public Uri[] createBeamUris(NfcEvent event) {
  25.             return mFileUris;
  26.         }
  27.     }
  28.     ...
  29. }
  30. /**
  31. 一旦實(shí)現(xiàn)了這個(gè)接口,通過(guò)調(diào)用setBeamPushUrisCallback()將回調(diào)函數(shù)提供給
  32. Android Beam文件傳輸。下面是一個(gè)例子:*/

  33. public class MainActivity extends Activity {
  34.     ...
  35.     // Instance that returns available files from this app
  36.     private FileUriCallback mFileUriCallback;
  37.     ...
  38.     @Override
  39.     protected void onCreate(Bundle savedInstanceState) {
  40.         ...
  41.         // Android Beam file transfer is available, continue
  42.         ...
  43.         mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
  44.         /*
  45.          * Instantiate a new FileUriCallback to handle requests for
  46.          * URIs
  47.          */
  48.         mFileUriCallback = new FileUriCallback();
  49.         // Set the dynamic callback for URI requests.
  50.         mNfcAdapter.setBeamPushUrisCallback(mFileUriCallback,this);
  51.         ...
  52.     }
  53.     ...
  54. }
  55. /**
  56. Note:我們也可以將Uri對(duì)象數(shù)組通過(guò)應(yīng)用程序的NfcAdapter實(shí)例,
  57. 直接提供給NFC框架。如果能在NFC觸碰事件發(fā)生之前,定義這些URI,
  58. 那么可以選擇使用這個(gè)方法。更多關(guān)于這個(gè)方法的知識(shí),
  59. 請(qǐng)參考:NfcAdapter.setBeamPushUris()。/*
復(fù)制代碼
指定要發(fā)送的文件
  1. /**為了將一或多個(gè)文件發(fā)送給其他支持NFC的設(shè)備,需要為每一個(gè)文件獲取一個(gè)
  2. File URI(一個(gè)具有文件格式(file scheme)的URI),
  3. 然后將它們添加至一個(gè)Uri對(duì)象數(shù)組中。此外,要傳輸一個(gè)文件,
  4. 我們必須也擁有該文件的讀權(quán)限。下例展示了如何根據(jù)文件名獲取其File URI
  5. ,然后將URI添加至數(shù)組當(dāng)中:*/

  6.     /*
  7.      * Create a list of URIs, get a File,
  8.      * and set its permissions
  9.      */
  10.     private Uri[] mFileUris = new Uri[10];
  11.     String transferFile = "transferimage.jpg";
  12.     File extDir = getExternalFilesDir(null);
  13.     File requestFile = new File(extDir, transferFile);
  14.     requestFile.setReadable(true, false);
  15.     // Get a URI for the File and add it to the list of URIs
  16.     fileUri = Uri.fromFile(requestFile);
  17.     if (fileUri != null) {
  18.         mFileUris[0] = fileUri;
  19.     } else {
  20.         Log.e("My Activity", "No File URI available for file.");
  21.     }
復(fù)制代碼

論壇徽章:
59
2015七夕節(jié)徽章
日期:2015-08-24 11:17:25ChinaUnix專(zhuān)家徽章
日期:2015-07-20 09:19:30每周論壇發(fā)貼之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38榮譽(yù)版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年紀(jì)念徽章
日期:2015-07-20 11:05:27IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-07-20 11:05:34操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:36程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:40數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:432015年辭舊歲徽章
日期:2015-07-20 11:05:44
2 [報(bào)告]
發(fā)表于 2015-08-12 10:47 |只看該作者
現(xiàn)在很多手機(jī)Android都支持NFC了。我買(mǎi)了個(gè)(不是,是公司買(mǎi)的)Google。肪椭С帧
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP