### **面向開發者的Android 7.1**
Android 7.1更新為用戶和開發人員引入了各種新特性和功能。本文檔重點介紹了開發人員的新功能。
#### **應用快捷方式**
您可以使用新的快捷鍵功能將用戶從啟動程序直接導入應用程序中的關鍵操作。用戶只需長按應用程序的啟動器圖標即可顯示應用程序的快捷方式,然后點按快捷方式以跳轉到關聯的操作。這些快捷方式是吸引用戶的好方法,甚至可以在用戶啟動應用程序之前讓用戶展示應用程序的功能。
每個快捷方式都引用一個意圖,每個意向都會啟動一個特定的操作或任務,您可以為任何可以表達為意圖的操作創建一個快捷方式。例如,您可以創建發送新短信,進行預約,播放視頻,繼續游戲,加載地圖位置等的意圖。
您可以通過將應用程序添加到APK中的資源文件來靜態創建快捷方式,也可以在運行時動態添加它們。靜態快捷鍵是常用操作的理想選擇,動態快捷鍵可讓您根據用戶的偏好,行為,位置等突出顯示操作。您可以在每個應用程序中最多提供五個快捷鍵。但是請注意,某些啟動器應用程序不會顯示您為應用程序注冊的每個快捷方式。
在您的應用添加快捷方式之后,它們可以在任何支持它的啟動器上使用,例如Pixel啟動器(Pixel設備上的默認啟動器),Now啟動器(Nexus設備上的默認啟動器)以及提供支持的其他啟動器。
任何應用程序都可以創建快捷方式,任何啟動器應用程序都可以添加對快捷方式的支持。Android 7.1為應用程序提供了一個API來注冊快捷方式和啟動器來讀取已注冊的快捷方式。有關詳細信息,請參閱應用快捷方式開發者文檔。

圖像鍵盤支持:讓用戶直接從鍵盤輸入圖像和其他內容。

應用快捷方式:表面按鍵操作,讓用戶即刻深入您的應用。
#### **圖像鍵盤支持**
用戶經常想要與emojis,貼紙以及其他豐富內容進行交流。在以前的Android版本中,軟鍵盤(也稱為 輸入法編輯器或IME)只能將unicode emojis發送到應用程序。對于豐富的內容,應用程序必須構建無法在其他應用程序中使用的特定于應用程序的emojis,或者使用變通方法(例如通過Easy Share Action或剪貼板發送圖像)。
現在,在Android 7.1中,Android SDK包含提交內容API,為IME提供了一種通用的方式,可以將圖像和其他豐富的內容直接發送到應用中的文本編輯器。v13 Support Library自修訂版25.0.0開始提供API。
借助此API,您可以構建可從任何鍵盤接受豐富內容的通訊應用程序,以及可將豐富內容發送到任何應用程序的鍵盤。有關詳細信息,請參閱[圖像鍵盤支持開發者文檔](https://developer.android.com/preview/image-keyboard.html)。
#### **新的專業表情符號**
使用Android 7.1,我們添加了新的表情符號,代表了女性和男性更廣泛的職業。新的表情符號使我們現有的男性表情符號和女性表情符號之間保持平衡,并且有各種各樣的膚色。
如果您是鍵盤或消息傳遞應用程序開發人員,則應該將這些表情符號合并到您的應用程序中。您可以通過調用動態檢查新的表情符號字符Paint.hasGlyph()。

#### **增強的動態壁紙元數據**
現在,您可以向顯示墻紙預覽的任何組件提供有關您的動態墻紙的元數據,例如墻紙選取器應用程序。您可以顯示現有的元數據屬性,如標簽,說明和作者,以及上下文URL和標題的新屬性,以將用戶鏈接到關于墻紙的更多信息。
有關更多信息,請參閱 [Android開發人員博客](https://android-developers.blogspot.com/2016/10/android-71-developer-preview.html)。
#### **圓形圖標資源**

您可以使用圖像資源工具快速創建圓形圖標資產。
應用程序現在可以定義在支持它們的設備上使用的圓形啟動器圖標。當啟動程序請求應用程序圖標時,框架將返回android:icon或者android:roundIcon,取決于設備構建配置。因此,應用程序應該確保 在響應啟動器意圖時定義兩者android:icon和android:roundIcon資源。您可以使用Image Asset Studio來設計圓形圖標。
您應該確保在支持新的圓形圖標的設備上測試您的應用程序,以查看您的圓形應用程序圖標的外觀以及顯示方式。測試資源的一種方法是運行Android模擬器,并使用針對API級別25的Google API仿真器系統。您還可以通過在Google Pixel設備上安裝您的應用來測試您的圖標。
有關設計應用程序啟動器圖標的更多信息,請參閱材料設計指南。
#### **存儲管理器的意圖**
應用程序現在可以激發一個ACTION_MANAGE_STORAGE意圖,將用戶帶到系統的可用空間屏幕。例如,如果應用程序需要比當前可用空間更多的空間,則可以使用此意圖讓用戶刪除不需要的應用程序和內容以釋放足夠的空間。
#### **改進的VR線程調度**
Android 7.1提供了改進VR線程調度的新功能。這很有用,因為虛擬現實應用程序對延遲非常敏感。
應用程序現在可以將一個線程指定為VR線程。當應用程序處于[ VR模式時](https://developer.android.com/about/versions/nougat/android-7.0.html#vr),系統將更積極地調度該線程以最小化延遲。一個進程一次只能有一個VR線程,并且系統可能會使該線程限制它可以運行的時間。當應用程序不處于VR模式時,該設置無效。
要將線程指定為VR線程,請調用新 ActivityManager.setVrThread()方法。
#### **演示用戶提示**
應用程序現在可以檢查設備是否以演示用戶的身份運行。
應用可以調用新UserManager.isDemoUser()方法來查看應用是否在演示用戶沙箱中運行。這使得應用程序可以為潛在客戶定制開始的體驗。例如,作為演示用戶運行時,應用程序可能會向用戶提供更多的幫助,或者更詳細地解釋其功能。
#### **運營商和呼叫應用程序的API**
該系統現在為運營商和電話應用程序提供新的電話功能,其中包括:
* 多端點呼叫
* CDMA語音隱私屬性
* Visual Voicemail的源類型支持
* 用于管理視頻電話的運營商配置選項
#### **磨損裝置的新屏幕密度**
Android現在支持Wear設備的幾種新的屏幕密度,它們與一些設備的物理規格更接近。這樣,您可以根據需要,將Wear應用程序中的圖形微調到顯示的屏幕上。
新的器件密度是:
* DENSITY_260
* DENSITY_300
* DENSITY_340
- 前言
- Google官網對Android API各版本的介紹
- jelly Bean(果凍豆)Android 4.1、4.2、4.3
- Android 4.1
- Android 4.2
- Android 4.3
- KitKat(Android 4.4.*)巧克力
- Android 4.4 APIS
- Lollipop(棒棒糖)Android 5.*
- Android 5.0 APIs
- Android 5.0 Changes(變更)
- Android 5.1APIs
- Marshmallow(棉花糖)Android 6.0
- Android 6.0 APIs
- Android 6.0 Changes(變更)
- Android 6.0 Samples
- Android 6.0 Testing
- Nougat(牛扎塘)Android 7.*
- Android 7.0
- API
- 行為變更
- 示例
- Android 7.1
- 開發者API
- 示例Sample
- Oreo(奧利奧)8.*
- Android 8.0
- 功能和 API
- Android 8.0 行為變更
- 向 Android 8.0 遷移應用
- Android 8.0 示例
- Android 8.1
- 后臺執行限制
- 后臺位置限制
- API指南
- Android 簡介
- 應用基礎知識
- 設備兼容性
- 系統權限
- 請求權限
- 定義權限
- 平臺架構
- Java8 概覽
- 在ART上驗證應用行為
- 應用組件
- Intent 和 Intent 過濾器(Google官網介紹)
- 通用intent
- Activity
- 任務和返回棧(官網譯文)
- 概覽屏幕
- 活動簡介
- 活動生命周期
- 活動狀態更改
- 進程和應用程序生命周期
- 包裹和捆綁
- 最近的屏幕
- 片段
- 加載器
- 服務Service
- 綁定服務
- AIDL
- 內容提供程序
- 內容提供程序基礎知識
- 創建內容提供程序
- 日歷提供程序
- 聯系人提供程序
- 存儲訪問框架
- 使用存儲訪問框架打開文件
- 創建自定義文檔提供程序
- 應用小部件
- 應用小部件主機
- 進程和線程
- 應用資源
- 概覽
- 提供資源
- 訪問資源
- 處理運行時變更
- 本地化
- ICU4J Android框架API
- Android上的國際化
- 語言和語言區域
- 復雜的XML資源
- 資源類型
- 動畫
- 顏色狀態列表
- 可繪制對象
- 布局
- 菜單
- 字符串
- 樣式
- 其他類型
- 應用清單
- <action>
- <activity>
- <activity-alias>
- <application>
- <category>
- <compatiable-screens>
- <data>
- <grant-uri-permission>
- <intent-filter>
- <manifest>
- <meta-data>
- <path-permission>
- <permission>
- <permission-group>
- <permission-tree>
- <provider>
- <receiver>
- <service>
- <supporte-gl-texture>
- <supports-screens>
- <uses-configuration>
- <uses-feature>
- <uses-library>
- <uses-permission>
- <uses-permission-sdk-23>
- <uses-sdk>
- 用戶界面
- 界面概覽
- 界面布局
- 線性布局
- 相對布局
- 列表視圖
- 網格視圖
- 回收站視圖
- 外觀和感覺
- 可下載的字體
- XML中的字體
- 表情符號兼容性
- 自動調整TextView
- 樣式和主題-
- 輸入控件
- 按鈕
- 文本字段
- 復選框
- 單選按鈕
- 切換按鈕
- 微調框
- 選取器
- 輸入事件
- 菜單Menu
- 設置
- 對話框
- 通知
- Toast
- 自適應圖標
- 應用快捷方式
- 搜索
- 創建搜索界面
- 添加近期查詢建議
- 添加自定義建議
- 可搜索配置
- 多窗口支持
- 拖放
- 無障礙功能
- 為應用設置無障礙功能
- 無障礙功能開發者檢查單
- 構建無障礙服務
- 讓應用更容易訪問
- 使用節點樹調試
- 構建可訪問自定義視圖
- 樣式和主題
- 自定義組件
- 動畫和圖形
- 概覽介紹
- 屬性動畫
- 視圖動畫
- 可繪制動畫
- 畫布和可繪制對象
- 基于物理的動畫
- Spring Animation
- Fling Animation
- OpenGL ES
- 硬件加速
- 計算
- RenderScript
- 高級RenderScript
- Runtime API Reference(參考)
- Numerical Types(數字類型)
- Object Types(對象類型)
- Conversion Functions(轉換函數)
- Mathematical Constants and Functions(數學常量和函數)
- Vector Math Functions(矢量數學函數)
- Matrix Functions(矩陣函數)
- Quaternion Functions(四元數函數)
- Atomic Update Functions(原子更新函數)
- Time Functions and Types(時間函數和類型)
- Allocation Data Access Functions(分配數據訪問函數)
- Object Characteristics Functions(對象特性函數)
- Kernel Invocation Functions and Types(內核調用函數和類型)
- Input/Output Functions(輸入輸出函數)
- Debugging Functions(調試函數)
- Graphics Functions and Types(圖形函數和類型)
- Index(索引)
- Media Apps(媒體應用)
- Media Apps Overview(媒體應用程序概述)
- Working with a Media Session(使用媒體會話)
- Building an Audio App(建立一個音頻應用)
- Building a Media Browser Service(構建媒體瀏覽器服務)
- Building a Media Browser Client(構建媒體瀏覽器客戶端)
- Media Session Callbacks(媒體會話回調)
- Building a Video App(建立一個視頻應用)
- Building a Video Player Activity(建立一個視頻播放器Activity)
- Media Session Callbacks-(媒體會話回調)
- Responding to Media Buttons(響應媒體按鈕)
- Handling Changes in Audio Output(處理音頻輸出的變化)
- Managing Audio Focus(管理音頻焦點)
- The Google Assistant and Media Apps(Google智能助理和媒體應用)
- 媒體和相機
- Supported Media Formats(支持的媒體格式)
- MediaPlayer(媒體播放器)
- MediaRecorder
- ExoPlayer
- Controller Amplitude with VolumeShaper(VolumeShaper控制器振幅)
- Media Routing(媒體路由)
- MediaRouter API
- MediaRouteProvider API
- Camera API(相機API)
- 位置和傳感器
- Location and Maps(位置和地圖)
- Location Strategies(位置策略)
- Sensors Overview(傳感器概覽)
- Motion Sensors(運動傳感器)
- Position Sensors(位置傳感器)
- Environment Sensors(環境傳感器)
- Raw GNSS Measurements(原始的GNSS測量)
- 連接
- Bluetooth
- Bluetooth Low Energy(藍牙低功耗)
- NFC
- NFC Basics(NFC基礎知識)
- Advanced NFC(高級NFC)
- Host-based Card Emulation(基于主機的卡模擬)
- Telecom(電信)
- Self-Managed ConnectionServices(自我管理的連接服務)
- Wi-Fi P2P
- Wi-Fi Aware
- Companion Device Pairing
- USB
- Accessory(配件)
- Host(主機)
- SIP
- 文本和輸入
- Autofill Framework(自動填充框架)
- Test your app with autofill(使用自動填充測試你的應用)
- Building autofill services(構建自動填充服務)
- Copy and Paste(復制和粘貼)
- Creating an IME(創建IME)
- Image Keyboard(圖像鍵盤)
- Spelling Checker(拼寫檢查程序)
- 數據存儲
- Storage Options(存儲選項)
- Data Backup(數據備份)
- Account Transfer API(賬戶轉移API)
- Auto Backup(自動備份)
- Key/Value Backup(鍵值備份)
- Testing Backup and Restore(測試備份和還原)
- App Install Location(應用安裝位置)
- 庫
- 支持庫
- 功能
- 修訂歷史記錄
- 庫設置
- 數據綁定庫
- 測試支持庫
- 管理
- 設備策略
- 網絡應用
- Supporting Different Screens in Web Apps(在網絡應用中支持不同屏幕)
- Building Web Apps in WebView(在WebView中構建網絡應用)
- Managing WebViews
- Migrating to WebView in Android 4.4(遷移到Android4.4中的WebView)
- Debugging Web Apps(調試網絡應用)
- Best Practices for Web Apps(網絡應用最佳做法)
- 最佳實踐
- Supporting Multiple Screens(支持多種屏幕)
- Distributing to Specific Screens(分配到特定屏幕)
- Screen Compatibility Mode(屏幕兼容性模式)
- Designing for Seamlessness
- Supporting Tablets and Handsets
- 培訓