行動數據的使用成本高昂,在所有人都負擔不起數據計劃費用的情況下更是如此。 Android 用戶需要能夠減少資料使用或完全阻止應用程式使用資料。 Android 7.0 版本中的資料保護程式功能為使用者提供了此功能。
使用者可以開啟或關閉資料保護功能。應用程式開發人員應使用新的 API 來檢查資料保護模式是否已開啟。如果打開,應用程式開發人員可以透過調整應用程式以實現低資料存取或無資料存取來優雅地處理這種情況。
最終用戶受益,因為他們將能夠控制哪些應用程式可以在後台存取數據,哪些應用程式只能在前台存取數據。這可以確保當每個使用者控制項開啟資料保護程式時所需的背景資料交換。
執行
由於資料保護程式是平台中的功能,因此設備製造商在 N 版本中預設獲得其功能。在以下位置找到原始檔案:套件/應用程式/設定/src/com/android/settings/datausage
設定介面
Android 開源專案 (AOSP) 中提供了預設的 Data Saver 設定使用者介面。有關範例,請參閱下面的螢幕截圖。
這些螢幕截圖顯示了正在使用的資料保護模式。
應用
重要提示:設備實施者不應將應用程式列入白名單。即使他們這樣做,用戶也可以將其刪除。包括其他應用程式會迫使用戶決定要應用哪些資料保護程式。
所有應用程式開發人員都必須採取行動實施 Data Saver,包括預先安裝應用程式的 OEM 和營運商。請參閱developer.android.com 上的Data Saver,以了解應用程式開發人員有關偵測和監控Data Saver 狀態的說明。請參閱以下部分,以了解對合作夥伴有幫助的其他詳細資訊。
要最佳化資料保護模式,應用程式應該:
- 刪除不必要的影像
- 對剩餘影像使用較低的分辨率
- 使用較低比特率的視頻
- 觸發現有的「精簡」體驗
- 壓縮數據
- 即使 Data Saver 關閉,也遵循按流量計費和不按流量計費的網路狀態
相反,為了與 Data Saver 良好配合,應用程式不應:
- 自動播放視頻
- 預取內容/附件
- 下載更新/程式碼
- 除非後台資料確實是核心功能的一部分,否則要求將其列入白名單
- 將白名單視為使用更多頻寬的許可證
驗證
實施者可以透過執行以下 CTS 測試來確保其版本的功能能如預期運作:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
此外,可以使用adb
命令手動進行測試,首先執行此命令以查看所有可用選項:
adb shell cmd netpolicy
例如,此命令傳回白名單應用程式的 UID:
adb shell cmd netpolicy list restrict-background-whitelist