當前位置:首頁 » 安卓系統 » android第三方圖片

android第三方圖片

發布時間: 2023-05-27 20:39:59

『壹』 安卓手機SD卡圖片無法從圖庫里打開怎麼辦

以下是一些可能有幫助的解決方法:1.重新啟動手機:首先嘗試簡單的重新啟動手機,有時這足以解決問題。2.清理圖庫數據緩存升讓沒:在手機設置中找到圖庫滑棗應用,然後清除其數據緩存。這通常可以解決圖庫無法訪問SD卡上的圖像的問題,並且將只需要重新啟動圖庫即可重新載入所有圖片。3.檢查SD卡許可權:檢查SD卡是否具有讀取和寫入許可權。在設置中找到存儲設置,然後確保SD卡上的應用程序和文件具有正確的許可權。4.檢查SD卡是否已格式化:如果SD卡還沒有格式化,則可能會導致問題。請確保在使用SD卡之前將其格式化為FAT32格式,並且不要使用NTFS格式。5.嘗試其他圖庫應用:如果圖庫無法訪問SD卡上的圖像,則可以嘗試使用其他圖庫應用程序來查看圖像,例如QuickPic等。6.檢查SD卡連接:檢查SD卡是否正確插入手機中,並且是吵納否與手機連接良好。如果這些方法都無法解決問題,則可能需要更深入地調查問題或聯系技術支持。

『貳』 android studio第三方框架導入為空怎麼辦

  • 原因祥念分析:


  1. 正常都是出現錯誤,無法編譯通過,檢查出錯的信息;

  2. 不排除第三方jar包下載有問題,重新下載再嘗試;

  • Android Studio導入第三方庫的方法:

  1. Gradle抓取:

    只需在Project文件夾下的build.gradle文件中添加依賴,制定位置添加如下代碼:

    『叄』 android如何讓第三方apk查看不了圖片

    在文件管理裡面,把需要隱藏的圖片所在文件碼渣告夾遲明前面加上.例如photo裡面有圖片,這時你找到photo文件夾,把它重命梁絕名.photo自帶文件管理如果更改不了,請下載Root Explorer(RE管理器)

    『肆』 Android歷史版本的版本列表

    Android 3.0(蜂巢 Honeycomb)軟體開發包正式發布,該版本基於基於Linux 2.6.36內核,是第一個Android平板操作系統。全球第一個使用該版本操作系統的設備是摩托羅拉公司於2011年2月24日發布的Motorola Xoom平板電腦。主要更新如下:主要更新如下: 僅供平板電腦使用 Google eBooks上提供數百萬本書 支持平板電腦大螢幕、高解析度 新版Gmail Google Talk視訊功能 3D加速處理 網頁版Market(Web store)詳細分類顯示,依個人Android分別設定安裝應用程序。 新的短消息通知功能 專為平板電腦設計的用戶界面(重新設計的通知列與系統列) 加強多任務處理的界面 重新設計適用大屏幕的鍵盤及復制粘貼功能 多個標簽的瀏覽器以及私密瀏覽模式 快速切換各種功能的相機 增強的圖庫與快速滾動的聯系人界面 更有效率的Email界面 支持多核心處理器 3.2版優化了7吋平板顯示 Android 3.1 Android 3.1軟體開發包於2011年5月10日正式發布。主要更新如下: 用戶界面的改進 連接USB配件 擴大最近的應用程序列表 可調整大小的主屏幕小部件 支持外部鍵盤和滑鼠等設備 支持操縱桿和游戲控制器 FLAC音頻播放支持 高性能的WiFi鎖,維護高性能WiFi連接設備屏幕關閉時。 支持HTTP代理為每個連接的WiFi接入點 Android 3.2 Android 3.2軟體開發包於2011年7月15日正式發布。全球第一台使用該版本操作系統的設備是中國 華為公司製造生產的MediaPad平板電腦。主要更新如下: 改進的硬體支持,包括為更廣泛的晶元,並且進行優化。 增強應用程序訪問SD卡上文件的能力,提供同步功能。 增加應用程序兼容性功能,用戶可以通過使用兼容性功能適配更多應用程序。 新的顯示支持功能,為開發人員提供更多的顯示外觀在不同的Android設備的控制。 Android 3.2.1 Android 3.2.1更新包於2011年9月20日正式發布,包含以下更新: 修復存在的Bug和安全性問題,增強系統穩定性和WiFi的性能 升級自帶的Android Market 升級自帶的Google Books 提升瀏覽器對Adobe Flash的支持 增強對簡體中文、繁體中文的手寫功能 Android 3.2.2 Android 3.2.2更新包於2011年8月30日正式發布,該版本修復了在摩托羅拉Xoom 4G上存在的Bug和性能方面的提升。
    Android 4.0 Ice Cream Sandwich Android 4.0(Ice Cream Sandwich 雪糕三明治)於2011年4月在 Google I/O大會上首次被宣布,並且於2011年10月19日正式發布Android 4.0「雪糕三明治」操作系統和搭載Android 4.0的 Galaxy Nexus智能手機。 Android 4.0.1的軟體開發包於2011年10月19日正式發布。Google公司的發言人加布·科恩(Gabe Cohen)指出,Android 4.0「理論上」與任何一個當前市面上搭載了Android 2.3.x 版本的設備兼容。關於Android 4.0的 源代碼已於2011年11月14日正式公布。 該版本的主要更新內容如下: 統一了手機和平板電腦使用的系統,應用會自動根據設備選擇最佳顯示方式。 提升硬體的性能以及系統的優化,提升系統流暢度。 支持在系統中使用虛擬按鍵,該功能可以取代物理按鍵。 界面以新的標簽頁形式展示,並且將應用程序和其他內容的圖標分類。 更方便地在主界面創建文件夾,並且使用「一拖」、「一放」的操作方式。 一個定製的啟動器 改進的可視化語音郵件的能力,加快或減慢語音郵件。 在日歷中也可以使用多點觸控,進行縮放和拖拽操作。 Gmail離線搜索,兩行預覽,和新的任務欄。 與其他第三方微博、博客類應用程序的無縫連接,實時更新的內容會被展示在主界面上。 Gmail支持縮放操作,支持左拉、右拉進行查看。 增加截圖功能(可以同時按住電源鍵和音量向下鍵進行截圖操作)。 改進虛擬鍵盤可以產生的誤操作 在鎖屏狀態下也可以對用戶設置的某些應用程序進行操作 改進的復制、粘貼功能 更好的語音集成,實時錄音,文本聽寫等語音功能。 臉部識別進行鎖屏,可以通過臉部識別進行鎖屏。 新標簽頁模式的網頁瀏覽器,支持最大同時打開16個標簽頁。 自動同步用戶手機中的網頁書簽,可以在桌面版Chrome和其他Android設備中進行同步。 全新的現代化Roboto字體 內置流量監控功能,用戶可以對流量進行設置,超出設置流量時,手機會自動關閉上網功能,並且可以隨時查看已使用和未使用的流量,並且以報表的形式展現出來以幫助用戶了解使用情況。 能夠隨時關閉正在使用的應用程序 提升自帶的相機功能 內置圖片處理軟體 新的圖庫軟體 與其他第三方應用程序進行無縫銜接,用戶可以在任何界面看到自己需要的消息和圖像。 新的啟動畫面,主畫面右下角類似Tray的圖標,內有多個程序可運行。 Google Search Bar會設置在最上方 Apps/Widgets會類似Honeycomb模樣 增加支持硬體加速的功能 Wi-Fi直連功能 支持1080p視頻播放和錄制 Android 4.0.1 修復Android 4.0中的Bug。 Android 4.0.2 Android 4.0.2更新包於2011年11月28日正式發布,該更新包修復了存在於Verizon版本Galaxy Nexus中的Bug。 Android 4.0.3 Android 4.0.3更新包於2011年12月16日發布,包括修復Bug和系統的優化,並且針對圖形、資料庫、拼寫檢查、藍牙功能和其他功能的改進。公布了新的API,包括聯系人API,日歷增強,新的攝像頭應用程序,提高視頻穩定和QVGA解析度和輔助功能的改進,如屏幕的改進等。 Android 4.0.4 Android 4.0.4更新包於2012年2月6日發布,主要更新如下: 更快的運行性能 Android操作系統的漏洞(電池問題)修復 3G/4G切換改進 信號強度增強 新的Power菜單(與之前的4.0.2不同,接近4.0.3) 更快速啟動 自動亮度調節功能改動,有了平滑的過渡。 重新調整了相機的Holding down按鈕 多點觸控的問題解決 自動旋轉更迅速 瀏覽器的性能顯著提高 最近應用程序列表打開更快速 相機UI的變化 音量增大 鍵盤問題修復 更新新聞及天氣應用程序的UI 瀏覽器中的快速控制改進 Android 4.1(Jelly Bean「果凍豆」)更新包於2012年6月28日在Google I/O大會上隨搭載Android 4.1的Nexus 7平板電腦一起發布,可能的更新如下: 基於Android 4.0改善 「黃油」性能(Project Butter),意思是可以讓Jelly Bean的體驗像「黃油般順滑」(鎖定提升用戶頁面的速度與流暢性)。 「Google Now」可在Google日歷內加入活動舉辦時間、地點,系統就會在判斷當地路況後,提前在「適當的出門時間給予通知」,協助用戶在准時時間抵達。 新增離線語音輸入 通知中心顯示更多消息 更多的平板優化(主要針對小尺寸平板) 強化Voice Search語音搜索,與S Voice類近,相當於Apple Siri。 Google Play 增加電視視頻與電影的購買 提升反應速度 強化默認鍵盤 大幅改變用戶界面設計 更多的Google雲集成 惡意軟體的保護措施,強化ASLR Google Play 採用智能升級,更新應用只會下載有改變的部分以節約時間、流量、電量,平均只需下載原APK文件的三分之一。 不會內置Flash Player,並且Adobe聲明停止開發,但可自行安裝APK。 Android 4.1.1 Android 4.1.1更新包於2012年7月23日發布,主要是修復Nexus 7的Bug。 Android 4.1.2 Android 4.1.2更新包於2012年10月9日發布,主要更新如下: 加入主畫面的旋轉功能 一些錯誤修正 提升性能及穩定性 單手指開合通知中心消息 Android 4.2 Google原本預計於2012年10月29日於紐約發布Android 4.2,但因為颶風桑迪吹襲被取消,而改以新聞稿發布,以「一種新口味的果凍豆」(A new flavor of Jelly Bean)作口號。首款搭載Android 4.2的手機LG Nexus 4及平板電腦Nexus 10於2012年11月23日上市。
    主要更新如下: PhotoSphere 360°全景拍攝 手勢輸入鍵盤 改進鎖屏:支持Widget,可於屏幕鎖定界面直接打開相機功能。 Daydream屏幕保護程序功能 可直接進行操作的狀態通知列功能 支持多重賬戶(僅適用於平板電腦) Miracast無線顯示分享功能 連點三次可放大整個顯示頁及兩指旋轉和縮放 增加為盲人用戶設計的語音輸出及手勢模式導航功能 內置時鍾新增世界時鍾,秒錶和定時器 Google Now新增以Gmail登錄信息作為數據源 Google Now新增航班追蹤功能、酒店、餐廳預訂,與音樂和電影推薦功能。 Gmail郵件可縮放顯示 Android 4.2.1 修復Android 4.2中的Bug。 Android 4.2.2 Android 4.2.2更新包於2013年2月11日發布,主要更新如下: 性能及穩定性的提升 一些錯誤修正 改善藍牙A2DP流問題 Google Play在下載內容時會顯示剩餘的時間 在快速設置中長按WiFi和藍牙圖標可切換開關 當設備電量低於95%並開始無線充電時會發出提示音 在USB Debug加入白名單功能 優化電池耗電量,增加續航時間。 Android 4.3 2013年7月24日與Nexus 7平板二代同步發表,主要更新如下: 支持多用戶登錄,支持一台終端設備上有多個登錄帳號。 「藍牙低功耗」功能,開啟藍牙後,耗電量相比之前大幅降低。 支持更多緩沖器對象 新版OpenGL ES 3.0著色語言,支持32 位整數和浮點數據類型以及操作。 增加多個紋理的支持,包括浮點紋理、深度紋理、頂點紋理等等。 多重渲染目標(Multiple Render Targets),讓GPU一次性渲染多個紋理。 多重采樣抗鋸齒(MSAA Render To Texture),讓3D物體的邊緣不出現毛刺,可提升圖像效果。 使用統一的紋理壓縮格式ETC 增加TRIM指令,使得內置存儲(Internal Storage)不會越用越慢。 新增App Opt功能(默認隱藏),允許用戶強行解除已安裝應用的特定許可權。 Android 4.3.1 2013年10月5日發布,改進系統性能和穩定性。 開發代號:Android L
    2014年6月25日於Google I/O 2014大會上發布Developer版(Android L),之後在2014年10月15日正式發布且名稱定為Lollipop「棒棒糖」。 採用全新Material Design界面 支持64位處理器 全面由Dalvik轉用ART(Android Runtime)編譯,性能可提升四倍 改良的通知界面及新增優先模式 預載省電及充電預測功能 新增自動內容加密功能 新增多人設備分享功能,可在其他設備登錄自己賬號,並獲取用戶的聯系人、日歷等Google雲數據 強化網路及傳輸連接性,包括Wi-Fi、藍牙及NFC 強化多媒體功能,例如支持RAW格式拍攝 強化「OK Google」功能 改善Android TV的支持 提供低視力的設置,以協助色弱人士 改善Google Now功能 Android的下一個版本,即盛傳已久的Android M很可能會在Google I/O大會上被正式發布。一個在業內已經被熱議的議題是:Android M「為工作升級而生」(Android for Work Update)。有業內人士解釋道:「Android M將把Android的強大功能拓展至任何你所能看到的工作領域。 」「
    根據Android系統以往的慣例,每一代新系統往往會根據其字母代號,對應一個關於零食的全名。如去年在Google I/O大會上發布的Android L,其代號「L」一開始還只是Google為開發者稱呼方便而准備的一個代號,但後來逐步演變成了「Lollipop」(棒棒糖Android 5.0)。所以,按照這種命名的傳統,Android [字母]這種新模式也將意味著,一款新口味Android「零食」即將出現。
    主要新功能如下:
    ● 應用許可權管理
    ● SD卡可能和內置存儲「合並」
    ● Android Pay
    ● 原生指紋識別認證
    ● 自動應用數據備份
    ● App Links(盡量減少諸如「你想要使用什麼來打開這個?」的提醒)
    ● 打盹和應用待機功能
    ● 多窗口(隱藏技能,未來不確定)
    ●主題支持(隱藏技能,未來不確定)
    ● Dark主題(已經被移除,未來不確定)
    ● 可定製的Quick Toggles和其他UI調整
    ● 可視化的語音郵件支持
    ● 重新設計的時鍾插件和音樂識別插件
    ● 在設置中新出現的全新「Memory」選項條目(早期版本出現,不過後來被隱藏)
    ● 在完成截圖之後可以通過通知中心直接刪除截圖
    ● Google Now Launcher支持橫屏模式
    ● 帶滾動條和垂直滾動條支持的全新應用和窗口小部件抽屜
    ● 內置的文件管理器能夠獲得功能方面的明顯升級
    ● 支持原生點擊喚醒功能
    ● 可以選擇「heads up」或者「peeking」 通知
    ● 原生4K輸出支持
    ● 嚴格的APK安裝文件驗證
    ● 支持MIDI
    ● USB Type-C埠支持
    ● 全新的啟動動畫
    ● 引入「語音交互」API在應用中提供更好的語音支持
    ● 可通過語音命令切換到省電模式
    ● 可以通過藍牙鍵盤快捷方式來撤銷和重做文本
    ● 在聯系人應用中能夠對已經添加的聯系人進行合並、刪除或者分享功能。
    ● 會有針對文本選擇的浮動工具欄出現,以便於更快的選擇文本
    ● 默認應用的UI
    ● 允許通過分享菜單直接分享給聯系人好友
    ● 更細化的應用程序信息
    ● 原生藍牙手寫筆支持
    ● 分屏鍵盤
    ● 移動的收音機
    ● Mobile Radio Active服務電池續航BUG將會被修復
    ● 除重復來電之外優化勿擾模式
    ● 藍牙掃描來改善定位精準度
    ● 原生Flashlight API
    ● 更容易訪問控制多個聲音空控制( 鈴聲、多媒體和鬧鍾)
    ● 更平滑的聲音滑塊

    『伍』 安裝了android studio後怎樣重新配置參數

    • 現在我們用一個新建的項目來說明。

      項目結構如下

    『陸』 安卓手機怎麼看新浪微博live圖

    安卓手機無法查看新浪微博live圖。Live photo是蘋果手機獨有的功能,第三方格式的動態短片是不能轉換成動態照片的,而且就算你的手機拍攝開啟了live photo功能當你發送給各大社交軟體時也不會顯示動態圖,只有靜態顯示。

    參考資料來源:

    網路-Live Photo

    『柒』 什麼是CM系統呀

    CM系統釋義:一個基於Android系統深度優化、定製、開發的第三方手機操作系統。CM提供了一些原生Android系統或某些手機廠商定製系統中沒有的功能,也是第一個使用BFS作任務管理器的手機操作系統。

    CyanogenMod 是一個免費、基於社區構建的Android OS的修改和改進版本。

    Cyanogen OS 13年9月18日對外宣布,已獲得700萬美元A輪投資,希望超越黑莓和Windows Phone成為世界第三大手機操作系統。

    Cyanogen OS 在B輪融資中獲2300萬美元投資,由安德森-霍洛維茨基金領投。騰訊、Benchmark Capital及Redpoint Ventures也參與了本輪投資。

    (7)android第三方圖片擴展閱讀

    CyanogenMod支持Free Lossless Audio Codec-FLAC(無損音頻壓縮編碼)音頻格式的音樂,多點觸控,從SD外置存儲器運行程序,壓縮緩存,大量APN的名單,重新啟動功能,Wi-Fi無線網路支持,藍牙,USB網路分享等。CyanogenMod也是第一個使用BFS作任務管理器的操作系統。CyanogenMod聲稱提供比官方固件版本更高性能和更可靠。

    2008年9月HTC Dream手機發布後,Android社區發現其中一個可以在Android的Linux的子系統得到特權控制 "rooting"(也稱為 "root access")的方法。

    這個發現, 結合了Android開源的性質,讓手機的固件可以隨意進行修改和重新安裝到手機。某些手機並不需要進行修改,如Android開發手機和Nexus One,這些用作開發用途的手機上。

    現時,CyanogenMod固件是基於Android 5.0,也有大量由CyanogenMod的代碼被加入了。CyanogenMod的自定部分本來是由Cyanogen(Steve Kondik)編寫,不過加入了由xda-developers社區編寫的代碼(如已強化的主畫面, 已強化的調用程序和已強化的網頁瀏覽器)和其他的程序(如busybox)。

    『捌』 國外Android有哪些第三方推送平台如何選擇

    國外Android第三方推送平台有很多,在選擇的時候不要盲目選擇,一定選擇適合自己的。但是相比較來說,深圳極光的推送平台會好一些,能滿足客戶的全面的業務場景和數據需求。優勢也是比較明顯的,具體如下:
    1、海量行業數據源,在線用戶4億+,活躍用戶2億+。
    2、完善的開發者工具包,七年的開發者服務技術積累,數據安全,服務穩定。
    3、成熟的產品化能力,為app統計、廣告監測、金融風控等提供專業解決方案。
    4、精準的大數據演算法體系,擁有用戶標簽數量500+、精準的用戶畫像、多維自助分析工具。
    極光是國內領先的移動開發者服務提供商,近十年裡,極光緊密圍繞移動開發者的需求,打造了一系列針對開發者運營、增長及變現的產品,截至2020年12月,已有超169萬款APP在使用極光提供的服務。

    『玖』 Android 開發,有沒有拍照濾鏡的第三方SDK

    寶寶特效SDK

    提供特效相機,拍攝輔助,自動美顏相機,抖音濾鏡、直播禮物、直播貼紙等,超低佔用空間,十秒大型場景僅100KB+, 精準人臉識別、人臉跟蹤,支持3D特效,3D動畫特效,2D特效、動畫渲染、特效渲染等。

    『拾』 問答:Android P都更新了哪些功能

    Android P的新功能特性集中在了UI、通知體驗、室內定位、圖像存儲幾個方面,解決了之前一直存在的痛點。例如WiFi RTT一定程度上彌補了蜂窩網路在室內環境下的定位問題,HEIC圖像格式則重點解決了存儲容量問題。同時,Android P也在通知豐富度及操作便捷性等功能方面有所增強和提升。

    一、WiFi RTT功能——復雜地形精確導航

    WiFi RTT功能是Android P新引入的一個功能,從原理上來說與蜂窩網路的定位原理一致,但這個功能極大的彌補了蜂窩網路在室內定位的短板,WiFi RTT將能夠在室內提供高精度的定位,這是蜂窩網路很難做到的。

    WiFi RTT是全新的功能,在android.net.wifi包下增加了rtt包,用於存放WiFi RTT相關類和介面。

    WiFi RTT的API以WifiRttManager為核心,藉助AP熱點或WiFi,利用RTT原理完成測距,通過三個以上的測距點就能夠准確地定位到設備所在位置。

    WiFiRTTManager提供了測距介面,是一個非同步測距操作,根據官方文檔(https://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager.html)說明,其測距介面如下:

    void startRanging(RangingRequest request, RangingResultCallback callback, Handler handler);

    註:SDK Platforms Android P Preview Revision 1的相關介面定義與此不同,但實際的官方鏡像中介面與此一致,開發者需要更新最新的Android P Preview Revision 2,此版本中Google已經修正該介面。

    介面中,RangingRequest通過RangingRequest.Builder構建,RangingRequest.Builder構建出RangingRequest所需要的參數可以通過WiFiManager等系統服務獲取到相關的內容,如List<ScanResult> scanResults = wifiManager.getScanResults();

    以下提供一個簡單的測試Demo,以供參考:

    private WifiRttManager wifiRttManager;
    private WifiManager wifiManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // ... ...

    if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_RTT)) {
    Object service = this.getApplicationContext().getSystemService(Context.WIFI_RTT_RANGING_SERVICE);
    if(service instanceof WifiRttManager) {
    wifiRttManager= (WifiRttManager) service;
    Log.i(TAG, "Get WifiRttManager Succ.");
    }

    wifiManager = (WifiManager) this.getApplicationContext().getSystemService(Context.WIFI_SERVICE);

    IntentFilter wifiFileter = new IntentFilter();
    wifiFileter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
    wifiFileter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
    wifiFileter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
    registerReceiver(new WifiChangeReceiver(), wifiFileter);
    }

    // ... ...


    private void startScanAPs() {
    wifiManager.setWifiEnabled(true);
    wifiManager.startScan();
    }

    class WifiChangeReceiver extends BroadcastReceiver {
    @RequiresApi(api = 28)
    @Override
    public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
    List<ScanResult> scanResults = wifiManager.getScanResults();
    Log.i(TAG, "Wifi Scan size:" + scanResults.size());
    for(ScanResult scanResult: scanResults) {
    Log.i(TAG, scanResult.toString());
    RangingRequest.Builder builder = new RangingRequest.Builder();
    builder.addAccessPoint(scanResult);
    wifiRttManager.startRanging(builder.build(), new RangingResultCallback() {
    @SuppressLint("Override")
    @Override
    public void onRangingFailure(int i) {
    // TODO
    }
    @SuppressLint("Override")
    @Override
    public void onRangingResults(List<RangingResult> list) {
    // TODO get result from list

    for(RangingResult result : list) {
    Log.i(TAG, result.toString());
    }
    }
    }, new Handler());
    }
    }
    }
    }

    使用WiFi RTT時,需要在AndroidManifest.xml中增加如下聲明:

    <uses-feature android:name="android.hardware.wifi.rtt" />

    通過上面的簡單代碼,就能夠實現WiFi RTT的功能。

    WiFi RTT功能適用於復雜地形的大型室內外場所,如商場、娛樂場所、大型休閑、游樂場等等,提供場所內的局部區域精確化導航等功能。相信在很快的時間內,就能夠在各大地圖應用內體驗到這項便利功能,對於路痴、地圖盲的夥伴們將是極大的福音。

    二、顯示剪切——支持劉海屏

    隨著iPhone X的推出,「劉海屏」達到了空前的高潮。Android P里提供了對異形屏幕的UI適配兼容方案,通過DisplayCutout類提供的相關介面,能夠獲取到屏幕中Cutout區域的信息。

    藉助DisplayCutout,可以獲取到如下信息:

    DisplayCutout displayCutout = view.getRootWindowInsets().getDisplayCutout();
    if(displayCutout != null) {
    Region bounds = displayCutout.getBounds();
    Log.d(TAG, String.format("Bounds:%s", bounds.toString()));
    int top = displayCutout.getSafeInsetTop();
    int bottom = displayCutout.getSafeInsetBottom();
    int left = displayCutout.getSafeInsetLeft();
    int right = displayCutout.getSafeInsetRight();
    Log.d(TAG, String.format("Cutout edge:[left:%d, top:%d,right:%d, bottom:%d]", left, top, right, bottom));
    }

    public Region getBounds()能夠獲取到Cutout區域的所有信息,Region就是Cutout區域。

    public int getSafeInsetTop()
    public int getSafeInsetBottom()
    public int getSafeInsetLeft()
    public int getSafeInsetRight()

    以上四個介面,可以獲取到去除Cutout區域後的安全區域邊界值。

    通過上述數據,開發者能夠精準的控制UI的繪制,避免將UI內容繪制到Cutout區域造成UI顯示異常。

    Android機器里,劉海屏目前還是極為罕見的Google為了方便開發者調試,在Android P Preview鏡像中,特別提供了Cutout的支持,具體打開方式可以參考Google提供的特性說明文檔cutout小節內容。

    cutout小節:https://developer.android.com/preview/features.html#cutout

    如圖所示,筆者使用手頭的Pixel 2 XL體驗了Android P的Cutout設置。

    三、通知優化——操作更多樣,內容更豐富

    Android P在通知內容的豐富度和操作上做了優化。

    最近的版本中,Android系統的通知管理方面一直優化升級,Android O提供了更細粒度的Channel功能,通知欄推送時需要指定NotificationChannel,用戶可以對通知的Channel選擇,只允許感興趣的Channel推送的通知顯示。通過通道設置、免打擾優化等方式,極大增強了消息體驗。

    增強消息體驗

    Android P繼續改進和增強消息通知[v1]。早在Android 7.0時,就提供了在通知中直接應答和輸入,Android P對這一功能做了更多的增強。

    Android P的通知中支持圖像內容,可以通過setData()方法,給出消息的圖像內容,在通知上展示給用戶。

    Android P同樣簡化了通知的配置形式。Android P中增加了Notification.Person類,用於區分同一個對話的參與者信息,如參與者的頭像、URI等。根據官方說明,Android P中,通知消息的其他一些API,也使用Person替代之前的CharSequence。

    簡單的體驗下新的API的開發:

    NotificationChannel channel = new NotificationChannel("WtTestChannel",
    "WtTestChannel", NotificationManager.IMPORTANCE_DEFAULT);
    channel.enableLights(true); // luncher icon right corner's point
    channel.setLightColor(Color.RED); // read point
    channel.setShowBadge(true); // whether show this channel notification on long press icon

    Notification.Builder builder =
    new Notification.Builder(MainActivity.this,
    "WtTestChannel");
    Notification.Person p = new Notification.Person();
    p.setName("WeTest");
    p.setUri("http://cdn.wetest.qq.com/" +
    "ui/1.2.0/pc/static/image/newLogo-16042.png");
    Notification.MessagingStyle messageStyle = new Notification.MessagingStyle(p);
    Notification.MessagingStyle.Message message =
    new Notification.MessagingStyle.Message("WeTestMessage", 2000, p);

    //show image
    Uri image = Uri.parse(
    "http://cdn.wetest.qq.com/ui/1.2.0/pc/static/image/newLogo-16042.png");
    message.setData("image/png", image);
    messageStyle.addMessage(message);
    builder.setStyle(messageStyle);
    builder.setSmallIcon(R.mipmap.ic_launcher);
    Notification notification = builder.build();

    NotificationManager notifyManager =
    (NotificationManager) getSystemService(
    MainActivity.this.getApplicationContext().NOTIFICATION_SERVICE);


    notifyManager.createNotificationChannel(channel);
    notifyManager.notify("WeTest", 1, notification);

    通道設置、廣播和免打擾優化

    Android P中,重點做了內容豐富上的工作,同時也對Channel的設置方面做了一些簡化處理。

    Android O版本里,首次推出了NotificationChannel,開發者需要配置相應的Channel,才能夠推送通知給用戶。用戶能夠更加細粒度[v1]的針對App的Channel選擇,而不是禁止App的所有通知內容。

    而在Android P中,對通知的管理做了進一步的優化,包括可以屏蔽通道組、提供新的廣播類型和新的免打擾優先順序。

    屏蔽通道組:用戶可以在通知設置中屏蔽App的整個通道組。開發者可以通過isBlocked()來判斷某個通道組是否被屏蔽了,並根據結果,不向已經被屏蔽的通道組發送任何通知。另外,開發者可以在App中使用新介面getNotificationChannelGroup()來查詢當前的通道組設置。

    新的廣播類型:新廣播類型是針對通道和通道組的功能增加的「通道(組)屏蔽狀態變化」廣播。開發者App中可以對所擁有的通道(組)接收廣播,並根據具體廣播內容作出動作。開發者可以通過NotificationManager,查看廣播相關的具體信息。針對廣播的動作可以通過Broadcasts查看具體的方法和信息。

    免打擾優先順序:NotificationManager.Policy增加了兩個新的優先順序常量,PRIORITY_CATEGORY_ALARMS(警告優先),PRIORITY_CATEGORY_MEDIA_SYSTEM_OTHER(媒體、系統和游戲聲音優先)。

    四、支持多攝像機和相機共享

    近一段時間,雙攝、多攝等機型紛紛面世。雙攝及多攝提供了單攝像頭所無法完成的能力,如無縫縮放、散景和立體視覺。Android P在這方面也提供了系統級的API支持。

    Android P提供了系統API,支持從兩個或者多個物理攝像頭同步獲取數據流。此前OEM廠商提供的雙攝設備多是廠商自行定製系統實現,此時Android P推出了API,從系統層面上制定了API規范。

    新的API提供了在不同相機之間切換邏輯數據流或混合數據流的調用能力。在捕捉延遲方面,提供新的會話參數,降低初始捕捉延遲。同時,提供相機共享能力,以解決在多種使用相機的場景下重復停止、開啟相機流。閃光燈方面,Android P增加基於顯示的閃光燈支持。光學防抖方面,Android P向開發者提供OIS時間戳,用於圖像穩定性優化以及其他特效使用。

    此外,Android P還支持外部USB/UVC相機,可以使用更強大的外置攝像頭模組。

    五、支持圖像媒體後期處理

    Android P引入了新的ImageDecoder,該類除了支持對各種圖片格式的解碼、縮放、裁剪之外,其強大之處在於支持對解碼後的圖像做後期處理(post-process),使用該功能可以添加復雜的自定義特效,比如圓角,或是將圖片放在圓形像框中。編寫後期處理回調函數,你可以添加任何繪圖指令實現需要的效果。

    此外,Android P原生支持GIF和WebP格式的動圖,新增了AnimatedImageDrawable類,並被新增的解碼器類ImageDecoder直接支持,用法跟矢量動畫類AnimatedVectorDrawable類似,實現方式也類似,通過新增渲染線程和工作線程,不需要在UI線程處理動圖更新,可以說是無痛使用,非常省心。

    下面通過編寫代碼,顯示一張gif圖,並利用後期處理機制,在圖像中間繪制一個綠色的實心圓。

    final ImageView image = (ImageView) findViewById(R.id.image);
    File gifFile = new File("/data/local/tmp/test.gif");
    if (!gifFile.exists()) {
    Log.d(TAG, "gifFile is not exsited!");
    return;
    }

    ImageDecoder.Source source = ImageDecoder.createSource(gifFile);
    try {
    d = ImageDecoder.decodeDrawable(source, new ImageDecoder.OnHeaderDecodedListener() {
    @Override
    public void onHeaderDecoded(ImageDecoder imageDecoder, final ImageDecoder.ImageInfo imageInfo, ImageDecoder.Source source) {
    imageDecoder.setPostProcessor(new PostProcessor() {
    @Override
    public int onPostProcess(Canvas canvas) {
    int w = imageInfo.getSize().getWidth();
    int h = imageInfo.getSize().getHeight();
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setColor(Color.GREEN);
    canvas.drawCircle(w/2, h/2, h/4, new Paint(paint));
    return 0;
    }
    });
    }
    });
    image.setVisibility(View.VISIBLE);
    image.setImageDrawable(d);
    } catch (IOException e){
    Log.d(TAG, e.toString());
    }
    Button button = (Button) findViewById(R.id.buttonText);
    button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    if (d != null && d instanceof AnimatedImageDrawable) {
    AnimatedImageDrawable ad = (AnimatedImageDrawable) d;
    if (ad.isRunning()) {
    Log.d(TAG, "stop running");
    ad.stop();
    } else {
    Log.d(TAG, "start running");
    ad.start();
    }
    }
    }
    });

    六、支持HDR VP9和HEIF

    Android P內置了對HDR VP9和HEIF(heic)圖像編碼的支持。HEIF是蘋果在iOS11推出的一種高效壓縮格式,目前在IphoneX、Iphone 8、IPhone 8P上已經支持。該格式的壓縮率更高,但是編碼該格式需要硬體的支持,解碼並不需要。最新的支持庫中的HeifWriter支持從YUV位元組緩沖區、Surface或是Bitmap類轉換為HEIF格式的靜態圖像。

    Android P新引入了MediaPlayer2,支持DataSourceDesc創建的播放列表。

    功能優化提升一覽

    一、神經網路API 1.1

    在前不久發布的Android 8.1 (API level 27)上,Google首次在Android平台上推出了神經網路API,這意味著我們的Android機器智能化水平又提高了一大步。而本次Android P,進一步豐富了神經網路的支持,不僅對之前的相關API進行了優化,並且提供了9個新的操作,為具體的數據操作方面提供了更深入的支持。

    二、改進表單自動填充

    Android 8.0(API等級26)中引入了自動填充框架,這使得在應用中填寫表單變得更加容易。 Android P引入了自動填充服務並實現了多項改進,得以在填寫表單時進一步增強用戶體驗。

    三、安全增強

    Android P引入了許多新的安全功能,包括統一的指紋驗證對話框和敏感交易的高確信度的用戶確認。應用程序內的指紋認證UI也將會更加一致。

    統一的指紋驗證對話框

    如果第三方APP想要使用指紋,Android系統框架為應用提供了指紋認證對話框,該功能可以提供統一的外觀和使用體驗,用戶使用起來更放心。如果您的程序還在使用FingerprintManager,現在改用FingerprintDialog替代吧,系統來提供對話框顯示。對了,在使用FingerprintDialog之前,別忘了調用hasSystemFeature()方法檢查手機設備是否支持指紋。

    敏感交易的高確信度的用戶確認

    Android P系統提供了受保護的確認API,藉助這組全新的API,應用可以使用ConfirmationDialog對話框向用戶提示,請求用戶批准一條簡短的聲明, 該聲明允許應用提醒用戶,即將完成一筆敏感交易,例如支付。

    如果用戶接受聲明,應用將會收到一條key-hash的消息認證碼(HMAC),該簽名由TEE產生,以保護用於輸入和認證對話框的顯示。該簽名表示用於已經看到了聲明並同意了。

    硬體安全模塊

    Android P還提供了StrongBox Keymaster(強力沙盒秘鑰大師),一個存儲在硬體安全模塊的具體實現。在這個硬體安全模塊中有自己的CPU、安全存儲空間,真隨機數生成器,以及額外的機制抵禦應用被篡改或是未授權應用的惡意載入。當檢查存儲在StrongBox Keymaster中的密鑰時,系統通過可信執行環境(TEE)確認密鑰的完整性。為了降低能耗,StrongBox支持了一組演算法和不同長度的秘鑰:

    ●RSA 2048

    ●AES 128 and 256

    ●ECDSA P-256

    ●HMAC-SHA256 (支持8位元組到64位元組任意秘鑰長度)

    ●Triple DES 168

    需要說明的是,這個機制需要硬體支持。

    安全秘鑰導入KeyStore

    使用新的ASN.1編碼的秘鑰格式添加導入秘鑰到Keystore,Android P提供了額外的密碼解密安全能力。之後KeyMaster就可以解密KeyStore存儲的秘鑰,這種工作方式使得秘鑰明文永遠不會出現在設備內存中。這項特性要求設備支持Keymaster 4。

    四、支持客戶端側Android備份加密

    Android P支持使用客戶端密鑰對Android備份進行加密。 這項隱私措施,需要設備的PIN、圖案密碼或標准密碼才能從用戶設備備份的數據中恢復數據。

    五、Accessibility優化

    為了使App使用更便捷,Android在多個方面為開發者提供了易用性的優化。

    1、Navigation semantics

    Android P在App的場景切換和操作上為開發者提供了很多的優化點。

    2、Accessibility pane titles

    Android P中對Section提供了新的機制,被稱為accessibility pane titles, Accessibility services能夠接收這些標題的變化,使得能夠對一些變化提供更加細粒度的信息。

    指定Section的標題,可以通過android:accessibilityPaneTitle新屬性來設置,同樣運行時可以通過setAccessibilityPaneTitle()來設置標題。

    3、頂部欄導航

    Android P提供了新的頂部欄導航機制,通過設置View實例的android:accessibilityHeading屬性為true,來顯示邏輯標題。通過這些標題,用戶就可以從一個標題導航到下一個標題,

    4、群組導航和輸出

    針對屏幕閱讀器,Android P對View提供了新的屬性android:screenReaderFocusable代替原有的android:focusable來做標記,來解決在一些場景下為了使屏幕閱讀器工作而設置View為可獲取焦點的操作。這時,屏幕閱讀器需要同時關注android:screenReaderFocusable和android:focusable設置為ture的View。

    5、便捷操作

    tooltips交互

    Android P中,可以使用getTooltipText()去讀取tooltips的文本內容。使用新的ACTION_SHOW_TOOLTIP和ACTION_HIDE_TOOLTIP控制View顯示或者隱藏tooltips。

    新全局交互

    Android P在AccessibilityService類中提供了兩個全新的操作。開發者的Service可以通過GLOBAL_ACTION_LOCK_SCREEN幫助用戶鎖屏,通過GLOBAL_ACTION_TAKE_SCREENSHOT幫助用戶完成屏幕截圖。

    窗體改變的一些細節

    Android P優化了在App多窗體同步發生變化時的更新內容獲取。當出現TYPE_WINDOWS_CHANGED時,開發者可以通過getWindowChanges()API獲取窗體變化情況。

    當多窗體發生改變時,每個窗體都會發出自己的事件,開發者可以通過getSource()獲取到事件窗體的根View。

    如果你的App為View定義了accessibility pane titles,UI更新時你的Service就能夠識別到相應的改動。當出現TYPE_WINDOW_STATE_CHANGED事件時,使用新方法 getContentChangeTypes()返回的類型,就能夠獲取到當前窗體的變化情況。例如,現在就能夠通過上述的機制,檢測到一個[v1]窗格是否有了新標題,或者一個窗格的消失。

    六、新的Rotation方案

    旋轉屏幕,是一些游戲、視頻等場景必要的操作,但有一些場景,用戶旋轉屏幕並不是為了讓應用顯示從豎屏變成橫屏或反過來。為了避免這種誤操作,Android P提供了新的機制,開發者可以指定屏幕不隨重力感應旋轉,而是用戶通過一個單獨的按鈕自行控制屏幕顯示轉向。

熱點內容
引用jar怎麼發布到伺服器 發布:2025-02-12 01:07:44 瀏覽:333
舊電腦開伺服器 發布:2025-02-12 01:02:50 瀏覽:277
電腦伺服器兩個電源什麼意思 發布:2025-02-12 00:55:15 瀏覽:220
linux外網不能訪問埠 發布:2025-02-12 00:55:13 瀏覽:438
安卓系統哪裡可以看充電次數 發布:2025-02-12 00:53:53 瀏覽:723
如何選物理伺服器cpu 發布:2025-02-12 00:48:22 瀏覽:68
怎麼買編程 發布:2025-02-12 00:31:42 瀏覽:932
固態硬碟如何做緩存檔 發布:2025-02-12 00:19:48 瀏覽:519
cm13源碼下載 發布:2025-02-12 00:13:58 瀏覽:554
lang編譯器 發布:2025-02-12 00:13:56 瀏覽:561