最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

安卓11適配攻略搶先看

 更新時間:2020年10月09日 08:31:15   作者:個推  
這篇文章主要介紹了安卓11適配攻略搶先看,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

引言

近期,Google 發(fā)布了 Android 11的平臺穩(wěn)定版本。Android 11 將在確保用戶隱私安全的前提下,更好地讓用戶暢享最新科技。

下圖是 Android 11 發(fā)布整體流程的時間線:

個推深耕開發(fā)者領(lǐng)域,一直緊跟行業(yè)發(fā)展趨勢,對Android 11的有關(guān)更新展開了深入研究。本文將從分區(qū)存儲、應(yīng)用包可見性、權(quán)限變化和新功能四個方面來談?wù)?Android 11 新特性,以幫助開發(fā)者更快速、更便捷地上手適配Android新系統(tǒng)。

作者| 個推高級安卓開發(fā)工程師 一七

正文

分區(qū)存儲

Android 10之前,外部存儲區(qū)的內(nèi)容主要以兩種形式存在,一種是由應(yīng)用的包名命名,歸屬于特定應(yīng)用目錄下的內(nèi)容,另一種是存儲在公共存儲區(qū)域的內(nèi)容。

在Android 10 中,Google首次引入了分區(qū)存儲,將公共區(qū)域劃分成了不同的集合,并且在媒體文件和其他文檔之間建立了清楚的分割。經(jīng)過劃分之后應(yīng)用不可以隨意訪問外部存儲區(qū)中的文件,而只能訪問媒體文件。如果想訪問包含更多細(xì)節(jié)數(shù)據(jù)的其他文檔,應(yīng)用專門向用戶申請有關(guān)文檔的訪問權(quán)限。

分區(qū)存儲是需要以 Android 10 為目標(biāo)平臺的,系統(tǒng)默認(rèn)強(qiáng)制執(zhí)行。如果在 AndroidManifest 中添加了 requestLegacyExternalStorage=true 標(biāo)志,就可以不受此限制。但是當(dāng) target API 更新為 30 后,系統(tǒng)會忽略該配置。

如果有數(shù)據(jù)需要遷移,可以在 AndroidManifest 中將 preserveLegacyExternalStorage 屬性設(shè)為 true ,當(dāng)用戶升級到以 Android 11 為目標(biāo)平臺時,這個配置就會生效。具體而言,這個配置在用戶重新安裝該應(yīng)用前都是有效的。

針對以 Android 11 為目標(biāo)平臺的應(yīng)用 (targetSdkVersion = 30) ,WRITEEXTENRNALSTORAGE 和 WRITEMEDIASTORAGE 不再提供其他任何訪問權(quán)限 。

某些應(yīng)用的核心功能可能需要訪問大量的文件,例如文件管理操作、備份和恢復(fù)操作等等,此時就需要申請 MANAGEEXTERNALSTORAGE 權(quán)限。我們可以通過使用 ACTIONMANAGEALLFILESACCESS_PERMISSION intent 操作將用戶引導(dǎo)至一個系統(tǒng)設(shè)置頁面,讓用戶為應(yīng)用授予所有文件的管理權(quán)限。

應(yīng)用包可見性

在 Android 11 之前,我們可以通過 PackageManager.getInstalledPackages(0) 獲取其他所有應(yīng)用的包名等信息。

Android 11 為了增加安全性,更好地保護(hù)用戶的隱私,對應(yīng)用包的可見性做出了一些改動。

當(dāng) targetSdkVersion 為 30 時,如果我們用getPackageInfo(“another.app”,0) 獲取其他應(yīng)用包信息時 ,會出現(xiàn) NameNotFoundException 的異常。

我們可以在 AndroidMainfest 中添加 <queries>來適配特定的使用場景:(該配置相當(dāng)于是添加應(yīng)用白名單)

已知想獲取的包名:

查詢一組具有特定用途的應(yīng)用或與其交互:

對于一些特殊應(yīng)用,想要獲取所有包名信息:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

權(quán)限變化

在 Android 11 中,系統(tǒng)為用戶的私人數(shù)據(jù)提供了更多可供選擇的授權(quán)方式,應(yīng)用也加大了后臺對位置的訪問權(quán)限限制。

對應(yīng)攝像頭、位置信息和麥克風(fēng)這幾個數(shù)據(jù)類型,用戶可以授予一次性的臨時訪問權(quán)限。

只要是在Android 11 上,該限制都會生效,如下圖:

這個一次性權(quán)限的生效周期指的是:

  • 應(yīng)用 Activity 可見期間
  • 應(yīng)用轉(zhuǎn)為后臺后的短時間內(nèi)
  • 前臺服務(wù)存活期間
  • 當(dāng)用戶撤銷單次授權(quán)后,應(yīng)用進(jìn)程退出,再次打開之后需要對應(yīng)用進(jìn)行重新授權(quán)期間

位置權(quán)限

在Android10 之前,我們通過ACCESSCOARRSELOCATION 或 ACCESSFINELOCATION(精確位置) 配置即可申請前后臺位置權(quán)限。

Android 11將位置權(quán)限分為前臺和后臺兩種權(quán)限。前文說的主要是前臺權(quán)限,授權(quán)方式?jīng)]有變化。應(yīng)用想要申請后臺權(quán)限,除了需要在清單文件中額外添加 ACCESSBACKGROUNDLOCATION 權(quán)限外,還需要應(yīng)用主動引導(dǎo)用戶到指定頁面授權(quán)。

新功能

增加應(yīng)用退出原因功能

在Android 11之前,我們想要了解應(yīng)用退出的原因以及狀態(tài),都比較費勁。現(xiàn) Android 11 引入了 方法:ActivityManager.getHistoricalProcessExitReasons() ,

可以讓我們清楚地了解到應(yīng)用退出的原因。

可變刷新率

應(yīng)用和游戲現(xiàn)在可以為其窗口設(shè)置首選幀率。大多數(shù) Android 設(shè)備以 60Hz 的刷新率更新屏幕,但是某些設(shè)備支持多種刷新率,例如 90Hz 和 60Hz,并可在運行時切換。在這些設(shè)備上,系統(tǒng)會基于首選幀率來為應(yīng)用選擇最佳刷新率。

結(jié)語

以上主要介紹了Android 11 對分區(qū)存儲、應(yīng)用包可見性和權(quán)限變化等模塊的更新介紹。Google 在力求讓用戶更加便捷地使用Android系統(tǒng)的基礎(chǔ)上,也希望用戶數(shù)據(jù)的隱私和安全性能在最大程度上受到保護(hù)。

個推致力于為開發(fā)者提供好用的SDK。為了提升SDK的穩(wěn)定性、兼容性,個推也對Android 11 的新特性進(jìn)行了深入研究,并即將針對旗下產(chǎn)品推出全新的適配方案,以滿足開發(fā)者不同的使用場景。此外,我們希望能與更多開發(fā)者交流探索Android新技術(shù),優(yōu)化用戶體驗,一同打造更好的安卓開發(fā)生態(tài)圈。

到此這篇關(guān)于安卓11適配攻略搶先看的文章就介紹到這了,更多相關(guān)安卓11適配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

明光市| 乌鲁木齐县| 黄浦区| 当雄县| 且末县| 通道| 武冈市| 东城区| 银川市| 肇庆市| 金寨县| 屏南县| 镶黄旗| 四会市| 咸阳市| 称多县| 黄梅县| 县级市| 随州市| 吴堡县| 宝兴县| 灵寿县| 湘潭市| 平远县| 航空| 延川县| 昌黎县| 深泽县| 佛学| 鱼台县| 吴旗县| 定西市| 郯城县| 当阳市| 新乡市| 确山县| 阿拉尔市| 亚东县| 汝南县| 乌拉特前旗| 沂源县|