androidapi級別
『壹』 新特性與行為變更 -- Android 13(T OS,API Level:33)
無論應用採用何種目標 SDK 版本,Android 13(API 級別 33)都允許用戶從抽屜式通知欄中停止前台服務。這項新功能稱為 FGS 任務管理器,它會顯示當前正在運行前台服務的應用列表。此列表的標簽為使用中的應用。每個應用旁邊都有一個停止按鈕。
注意:當用戶按您應用旁邊的停止按鈕時,系統會停止您的整個應用,而不僅僅是正在運行的前台服務。
利用 JobScheler,應用可使用 JobInfo.Builder.setPrefetch() 將特定作業標記為「預提取」作業,這意味著,理想情況下這些作業應該在應用下一次啟動前提前一點運行,以提升用戶體驗。過去,JobScheler 僅使用該信號讓預提取作業有機會使用免費或多餘的數據。
在 Android 13 中,系統現在會嘗試確定應用下次啟動的時間,並根據該估算值運行預提取作業。應用應嘗試使用預提取作業來完成他們想要在下次應用啟動前完成的任何工作。
Android 13(API 級別 33)引入了電池資源利用率,它為系統提供了多種方法來更好地管理設備電池續航時間:
Android 13(API 級別 33)引入了新的運行時通知許可權:POST_NOTIFICATIONS。此更改有助於用戶專注於最重要的通知。
注意:與媒體會話以及自行管理通話的應用相關的通知不受此行為變更的影響。
如果您的應用允許用戶將敏感內容(例如密碼或信用卡信息)復制到剪貼板,則必須在調用 ClipboardManager#setPrimaryClip() 之前向 ClipData 的 ClipDescription 添加一個標志。添加此標志可阻止敏感內容出現在內容預覽中。
如需標記敏感內容,請向 ClipDescription 添加一個布爾型 extra。無論應用的目標 API 級別如何,所有應用都應這么做。
如果您的應用使用已廢棄的 android:sharedUserId 屬性,並且不再依賴於該屬性的功能,您可以將 android:sharedUserMaxSdkVersion 屬性設置為 32,這個新屬性會告知系統,您的應用不再依賴於共享用戶 ID。如果您的應用聲明 android:sharedUserMaxSdkVersion 並且首次安裝在搭載 Android 13 或更高版本的設備上,則應用的行為就像您從未定義過 android:sharedUserId 一樣。更新後的應用仍會使用現有的共享用戶 ID。
共享用戶 ID 會在軟體包管理器中導致具有不確定性的行為。您的應用應使用適當的通信機制(例如服務和 content provider),在共享組件之間實現互操作性。
注意:如果您已在清單中定義了 android:sharedUserId 屬性,請不要將其移除。這樣做會導致應用更新失敗。
如果用戶拒絕通知許可權,他們仍會在前台服務 (FGS) 任務管理器中看到與這些前台服務相關的通知,但不會在抽屜式通知欄中看到這些通知。
在以前的 Android 版本中,用戶需要向您的應用授予 ACCESS_FINE_LOCATION 許可權,應用才能完成與熱點相關的多個常見 Wi-Fi 用例、Wi-Fi 直連、Wi-Fi RTT 等。
由於用戶很難將位置信息許可權與 Wi-Fi 功能相關聯,因此 Android 13(API 級別 33)在 NEARBY_DEVICES 許可權組中引入了新的運行時許可權,適用於管理設備與附近 Wi-Fi 接入點連接情況的應用。此許可權 (NEARBY_WIFI_DEVICES) 可滿足這些 Wi-Fi 用例。
只要您的應用不會通過 Wi-Fi API 推導物理位置,那麼當您以 Android 13 或更高版本為目標平台並使用 Wi-Fi API 時,就可以請求 NEARBY_WIFI_DEVICES 而不是 ACCESS_FINE_LOCATION。
注意:僅當您調用 Wi-Fi API 時,此更改才會影響您的應用。
如果您的應用以 Android 13 為目標平台,您必須請求一個或多個新許可權,而不是 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 許可權。如果用戶之前向您的應用授予了 READ_EXTERNAL_STORAGE 許可權,系統會自動向您的應用授予每個新許可權。
注意:如果您的應用只需要訪問圖片、照片和視頻,請考慮使用照片選擇器,而不是聲明 READ_MEDIA_IMAGES和 READ_MEDIA_VIDEO 許可權。
注意:您無需再聲明 WRITE_EXTERNAL_STORAGE 許可權。
如果您的應用以 Android 13 為目標平台,並且在後台運行時需要訪問身體感測器信息,那麼除了現有的 BODY_SENSORS 許可權外,您還必須聲明新的 BODY_SENSORS_BACKGROUND 許可權。
當您的應用向以 Android 13 或更高版本為目標平台的其他應用的導出組件發送 intent 時,僅當該 intent 與接收應用中的 < intent-filter > 元素匹配時,系統才會傳送該 intent。不匹配的 intent 會被屏蔽。
為了幫助提高運行時接收器的安全性,Android 13 允許您指定您應用中的特定廣播接收器是否應被導出以及是否對設備上的其他應用可見。如果導出廣播接收器,其他應用將可以向您的應用發送不受保護的廣播。此導出配置在以 Android 13 或更高版本為目標平台的應用中可用,有助於防止一個主要的應用漏洞來源。
在以前的 Android 版本中,設備上的任何應用都可以向動態注冊的接收器發送不受保護的廣播,除非該接收器受簽名許可權的保護。
Android 13(API 級別 33)提供了全新的照片選擇器體驗。應用啟動照片選擇器時,用戶可選擇與應用分享特定圖片和視頻(如個人資料照片),而不是授予應用查看整個媒體庫的許可權。
照片選擇器可為用戶提供更好的隱私保護,因為您的應用無需聲明任何運行時許可權。此外,照片選擇器還為應用提供內置標准化界面,從而打造更一致的用戶體驗。
注意:現在,我們推薦使用照片選擇器來訪問用戶的照片和視頻。
Android 13(API 級別 33)在 NEARBY_DEVICES 許可權組中引入了一項新的運行時許可權,它適用於會管理設備與附近 Wi-Fi 接入點連接情況的應用。這些應用在調用多個不同的 Wi-Fi API 時必須聲明新的許可權 NEARBY_WIFI_DEVICES。此外,只要應用不會通過 Wi-Fi API 推導物理位置,那麼在以 Android 13 或更高版本為目標平台時,就無需聲明 ACCESS_FINE_LOCATION 許可權。
如果您的應用以 Android 13 為目標平台,您可以使用自動授予應用的 USE_EXACT_ALARM 許可權。不過,您的應用若要使用此許可權,必須至少滿足以下條件之一:
如果您的應用設置了精確鬧鍾,但不符合前面列表中顯示的任一情況,請改為繼續聲明 SCHEDULE_EXACT_ALARM 許可權,並為用戶拒絕授予您應用相應訪問許可權的情況做好准備。
從 Android 13 開始,應用可以撤消先前由系統或用戶授予的運行時許可權。此 API 可讓您的應用執行增強隱私權的任務,如下所示:
如需撤消特定運行時許可權,請將該許可權的名稱傳入 revokeSelfPermissionOnKill()。如需同時撤消一組運行時許可權,請將這組許可權的名稱傳入 revokeSelfPermissionsOnKill()。撤消是非同步發生的,會終止與您應用的 UID 相關聯的所有進程。
Android 13 可支持 APK 簽名方案 v3.1,此方案在現有的 APK 簽名方案 v3 的基礎上進行了改進,解決了 APK 簽名方案 v3 的一些已知問題。具體而言,v3.1 簽名方案允許應用在單個 APK 中同時支持原始簽名者和輪替簽名者。此外,該方案還支持 SDK 版本定位功能,這會允許輪替定位到更高版本的平台。
v3.1 簽名方案使用在 12L 或更低版本中無法識別的新分塊 ID。因此,平台會應用以下簽名者行為:
尚未輪替其簽名密鑰的應用無需執行任何其他操作。每當這些應用選擇輪替時,系統都會默認應用新的 v3.1 簽名方案。
『貳』 Android歷史版本的API等級
隨著版本的更迭,應用程序編程介面(API)等級不斷發生。下面將目前為止所有API等級羅列出來,並與Android各版本一一對應。
API等級1:Android 1.0
API等級2:Android 1.1 Petit Four
API等級3:Android 1.5 Cupcake
API等級4:Android 1.6 Donut
API等級5:Android 2.0 Éclair
API等級6:Android 2.0.1 Éclair
API等級7:Android 2.1 Éclair
API等級8:Android 2.2 - 2.2.3 Froyo
API等級9:Android 2.3 - 2.3.2 Gingerbread
API等級10:Android 2.3.3-2.3.7 Gingerbread
API等級11:Android 3.0 Honeycomb
API等級12:Android 3.1 Honeycomb
API等級13:Android 3.2 Honeycomb
API等級14:Android 4.0 - 4.0.2 Ice Cream Sandwich
API等級15:Android 4.0.3 - 4.0.4 Ice Cream Sandwich
API等級16:Android 4.1 Jelly Bean
API等級17:Android 4.2 Jelly Bean
API等級18:Android 4.3 Jelly Bean
API等級19:Android 4.4 KitKat
API等級20:Android 4.4W
API等級21:Android 5.0 Lollipop
API等級22:Android 5.1 Lollipop
API等級23:Android 6.0 Marshmallow
『叄』 android 中 API level 指的是什麼什麼意思這個等級表示的
android 每個版本提供給開發者的 API都有版本的,你把這個level理解為版本差不多
『肆』 安卓11和安卓10有啥區別
安卓11和安卓10區別為:API等級不同、聊天氣泡功能不同、拖拽操作不同。
一、API等級不同
1、安卓11:安卓11的API等級為30。
2、安卓10:安卓10的API等級為29。
二、聊天氣泡功能不同
1、安卓11:安卓11新增了懸浮聊天氣泡功能,只要 APP 使用全新的 API,就可以將正在進行的對話以氣泡的形式懸浮在屏幕中。
2、安卓10:安卓10不支持懸浮聊天氣泡功能。
三、拖拽操作不同
1、安卓11:安卓11能做到打破不同應用之間的界限,將圖片等文件從小窗內直接拉動到另一應用的輸入界面上,讓手機也能做到類似電腦 PC 端的拖拽操作。
2、安卓10:安卓10不支持打破不同應用之間的界限的拖拽操作。