2014年10月11日 星期六

[Android] L - Wireless & Connectivity (無線網路和連線)



多重網路連線

Android L 新增了多重網路連線 API,可以讓應用程式搜尋可用的特定網路並建立連線,特定的網路像是 SUPL、MMS、Carrier-Billing 網路,或者特殊的傳輸協定 (Transport Protocol)。

從應用程式選擇網路、建立連線的步驟如下:

1. 新建一個 ConnectivityManager。
2. 新建一個 android.net.NetworkRequest 來指定應用程式想要連接的網路連線型態。
3. 將設定好的 NetworkRequest 物件和 ConnectivityManager.NetworkCallbackListener 的實作當參數,呼叫 ConnectivityManager.requestNetwork() 或者 ConnectivityManager.registerNetworkCallback() 來搜尋適合的網路。
4. 當偵測到適合的網路,系統會自動連線並呼叫 NetworkCallbackListener.onAvailable(),開發者可以透過這個函式裡面的 android.net.Network 物件取得這個網路的資訊,或者把流量引導到這個網路上。


藍牙廣播

Android 4.3 的其中一項重點是新增 Bluetooth Low Energy (BLE) 的支援,Android L 則讓 Android 設備可以當作 BLE 的週邊設備。應用程式可以利用這個技術讓附近的設備知道它的存在,舉例來說,開發者可以開發計步器或者健康狀態監控應用程式,然後和其他 BLE 設備溝通。

新的 android.bluetooth.le APIs 讓應用程式可以和臨近的 BLE 設備廣播訊息、搜尋回應、然後連線,要使用這些功能要在 AndroidManifest.xml 中加入 android.permission.BLUETOOTH_ADMIN 的權限。

NFC 加強

Android L 增加下列項目來加強 NFC 的使用彈性:

1. 在分享的項目中增加了 Android Beam。
2. 應用程式可以藉由呼叫 android.nfc.NfcAdapter.invokeBeam() 來分享檔案,避免使用者手動點擊選擇要傳輸的 NFC-capable 設備來完成檔案傳輸。
3. 開發者可以使用新的 android.nfc.NdefRecord.createTextRecord() 來新建含有 UTF-8 格式的 NDEF 文字記錄。
4. 開發付款的應用程式,現在可以藉由呼叫 android.nfc.cardemulation.CardEmulation.registerAidsForService() 註冊一個 NFC Application ID (AID);在特定情況下,也可以呼叫 android.nfc.cardemulation.CardEmulation.setPreferredService() 來選擇想要的卡片服務。


沒有留言:

張貼留言