iT邦幫忙

DAY 9
0

Android L 開發搶先看!系列 第 9

Android L 開發搶先看! — 無線網路和連線 之一

多重網路連線

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 的權限。

程式中以呼叫 android.bluetooth.le.BluetoothAdvertiser.startAdvertising() 並傳入 android.bluetooth.le.AdvertiseCallback 類別的實作,來開啟 BLE 廣播讓其他設備偵測到,在 callback 中的物件會收到開啟廣播成功或是失敗的資訊。

Android L 另外有新的 android.bluetooth.le.ScanFilter 類別讓應用程式可以只尋找特定的設備,程式中以呼叫 android.bluetooth.le.BBluetoothLeScanner.startScan() 並傳入 android.bluetooth.le.ScanFilter 類別的 filters 和 android.bluetooth.le.ScanCallback 類別的實作,來開始搜尋 BLE 設備,在 callback 中的物件會收到有沒有搜尋到 BLE 設備的資訊。


上一篇
Android L 開發搶先看! — 儲存空間
下一篇
Android L 開發搶先看! — 無線網路和連線 之二
系列文
Android L 開發搶先看!10

尚未有邦友留言

立即登入留言