偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

五分鐘技術(shù)趣談 | Android 14更新升級(jí)淺析

移動(dòng)開(kāi)發(fā)
隨著Google I/O 2023發(fā)布的Android 14 beta2 ,預(yù)計(jì)Android 14將在2023年第三季度發(fā)布,目前看整體需要適配的內(nèi)容已經(jīng)趨向穩(wěn)定,那么Android 14增加了哪些新特性?又有哪些針對(duì)老版本的適配改善?下面我們一起來(lái)看看吧。


Part 01

新特性  

1.1 語(yǔ)法性別

正如漢語(yǔ)中的第三人稱(chēng)有他、她、它一樣,很多語(yǔ)言根據(jù)不同性別、對(duì)象會(huì)有名詞、動(dòng)詞和介詞上的語(yǔ)法差異,而使用區(qū)分性別語(yǔ)言的人高達(dá)30億,因此APP不針對(duì)性別進(jìn)行語(yǔ)法區(qū)分的話(huà),可能會(huì)給用戶(hù)帶來(lái)糟糕的使用體驗(yàn)。

因此Android14推出全新特性:語(yǔ)法性別Grammar Gender。開(kāi)發(fā)者可以調(diào)用專(zhuān)用API:GrammaticalInflectionManager設(shè)置單個(gè)APP的性別偏好:

setRequestedApplicationGrammaticalGender(int) :設(shè)置性別偏好,參數(shù)為常量類(lèi)型,具體類(lèi)型如下:

GRAMMATICAL_GENDER_NOT_SPECIFIED,0:尚未指定性別偏好,將用默認(rèn)的values資源;

GRAMMATICAL_GENDER_NEUTRAL,1:指定中性、客觀(guān)的資源文本,比如 values-fr資源;

GRAMMATICAL_GENDER_FEMININE,2:指定針對(duì)女性的資源文本,比如 values-fr-feminine資源;

GRAMMATICAL_GENDER_MASCULINE,3:指定針對(duì)男性的資源文本,比如 values-fr-masculine資源。

方法getApplicationGrammaticalGender()用于獲取語(yǔ)法性別偏好,返回上述四種int類(lèi)型。

做完性別語(yǔ)法配置后,需要在APP的manifest文件中聲明配置更改:

<activity android:name=".TestActivity"

android:configChanges="grammaticalGender"

android:exported="true">

</activity>

1.2 屏幕截圖檢測(cè)

基于對(duì)隱私權(quán)限相關(guān)方面的考慮,APP需要對(duì)截屏操作進(jìn)行監(jiān)聽(tīng)和反饋,在以往的安卓版本,這些操作往往需要開(kāi)發(fā)者監(jiān)聽(tīng)存放截屏文件的目錄來(lái)實(shí)現(xiàn),稍不留神還會(huì)踩到“隱私紅線(xiàn)”。

為了創(chuàng)建更標(biāo)準(zhǔn)化的截圖檢測(cè)體驗(yàn),Android 14引入了一個(gè)保護(hù)隱私的截圖檢測(cè)API。這個(gè)API允許應(yīng)用程序以每個(gè)活動(dòng)為基礎(chǔ)注冊(cè)回調(diào)。當(dāng)用戶(hù)在活動(dòng)可見(jiàn)時(shí)截取屏幕截圖時(shí),調(diào)用這些回調(diào)函數(shù),并通知用戶(hù)。

首先要聲明新的權(quán)限:

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

然后,完成以下步驟,在你的應(yīng)用程序中的每個(gè)活動(dòng),用戶(hù)可能會(huì)捕獲屏幕截圖。

1.通過(guò)覆蓋onScreenCapture()函數(shù)實(shí)現(xiàn)回調(diào)。在這個(gè)回調(diào)中,你的應(yīng)用程序可以采取行動(dòng),比如警告另一個(gè)用戶(hù)有人截取了消息對(duì)話(huà)的截圖。

final Activity.ScreenCaptureCallback screenCaptureCallback =

    new Activity.ScreenCaptureCallback() {

        @Override

        public void onScreenCaptured() {

            // Add logic to take action in your app.

        }

    };

2.在活動(dòng)的onStart()方法中,注冊(cè)截圖回調(diào):

@Override

protected void onStart() {

    super.onStart();

    registerScreenCaptureCallback(executor,

    screenCaptureCallback);

      }

3.最后在onStop()方法中,取消注冊(cè)屏幕回調(diào):

@Override

protected void onStop() {

    super.onStop();

    unregisterScreenCaptureCallback(screenCaptureCallback);

       }

1.3 全新的系統(tǒng)返回設(shè)計(jì)

在Android13中,為了應(yīng)對(duì)多元的交互方式,谷歌就對(duì)返回事件進(jìn)行了統(tǒng)一處理,在Android14對(duì)系統(tǒng)的返回效果進(jìn)行了進(jìn)一步的升級(jí),一是為返回箭頭增加了邊框和背景,使其更加明顯;二是返回箭頭的顏色會(huì)隨著系統(tǒng)主題發(fā)生變化。

圖片

圖1 全新設(shè)計(jì)的“返回”箭頭

二是增加返回預(yù)覽,讓用戶(hù)可以提前查看目標(biāo)界面,決定取消或繼續(xù)返回操作。這塊功能還在完善,開(kāi)發(fā)者需要手動(dòng)開(kāi)啟:開(kāi)發(fā)者選項(xiàng)->預(yù)測(cè)性返回手勢(shì)動(dòng)畫(huà)。

圖片

圖2 返回預(yù)覽示意圖

1.4 軟件包安裝改進(jìn)

在Android14中,PackageInstaller 推出了新的方法requestUserPreapproval(),該方法可以讓App在下載之前,請(qǐng)求用戶(hù)批準(zhǔn)、獲取授權(quán),相比于之前版本要等到apk下載完成進(jìn)行安裝時(shí)才進(jìn)行授權(quán)申請(qǐng),該方法能有效避免無(wú)效下載,節(jié)約流程時(shí)間。

以往由于安卓設(shè)備上可能安裝了多個(gè)應(yīng)用市場(chǎng),當(dāng)使用不同的應(yīng)用市場(chǎng)對(duì)App進(jìn)行更新操作后,可能會(huì)造成兼容性問(wèn)題,因此在Android14中,新增了setRequestUpdateOwnership()方法,用于指定App后續(xù)更新的應(yīng)用商店App,需要申請(qǐng)權(quán)限:android.permission.ENFORCE_UPDATE_OWNERSHIP

此后,如果App要變更負(fù)責(zé)更新應(yīng)用商店,都需要獲取用戶(hù)的批準(zhǔn)。

不知道你遇到過(guò)這種情況嗎,你正在使用一款A(yù)pp,然而手機(jī)應(yīng)用商店觸發(fā)了自動(dòng)更新條件,直接將該App的進(jìn)程打斷,輕則讓你郁悶,重則會(huì)造成數(shù)據(jù)的丟失。為避免這種情況,Android14引入了新的安裝約束API:InstallConstraints,首先使用InstallConstraints.Builder構(gòu)建,設(shè)置更新條件,如要求App進(jìn)程不在前臺(tái)setAppNotForegroundRequired()、要求設(shè)備不在通話(huà)狀態(tài)setNotInCallRequired()等。然后使用commitSessionAfterInstallConstraintsAreMet()傳入上述InstallConstraints配置實(shí)例即可。

Part 02

版本適配改善 

2.1 默認(rèn)拒絕設(shè)定精準(zhǔn)的鬧鐘

精確的鬧鐘適用于用戶(hù)指定的通知,或是在確切時(shí)間需要執(zhí)行的操作。從Android 14開(kāi)始,系統(tǒng)不再向以Android 13及更高版本為目標(biāo)平臺(tái)的大多數(shù)新安裝應(yīng)用預(yù)先授予SCHEDULE_EXACT_ALARM權(quán)限,該權(quán)限默認(rèn)處于拒絕狀態(tài)。

需要SCHEDULE_EXACT_ALARM權(quán)限才能通過(guò)以下API啟動(dòng)精確鬧鐘,否則系統(tǒng)會(huì)拋出安全異常

setExact()

setExactAndAllowWhileIdle()

setAlarmClock()

日歷或鬧鐘應(yīng)用需要在應(yīng)用停止運(yùn)行時(shí)發(fā)送日歷提醒、喚醒鬧鐘或提醒。這些應(yīng)用可以請(qǐng)求 USE_EXACT_ALARM 常規(guī)權(quán)限。系統(tǒng)將在安裝時(shí)授予 USE_EXACT_ALARM 權(quán)限,擁有此權(quán)限的應(yīng)用將能夠像具有 SCHEDULE_EXACT_ALARM 權(quán)限的應(yīng)用一樣安排精確鬧鐘。

2.2 應(yīng)用只能終止自己的后臺(tái)進(jìn)程

Android14增加了對(duì)應(yīng)用調(diào)用方法killBackgroundProcesses()的限制,該方法用于終止API進(jìn)程,只能終止本應(yīng)用的后臺(tái)進(jìn)程,更新后,如果傳入其他應(yīng)用的包名,該方法不會(huì)對(duì)其他應(yīng)用產(chǎn)生任何影響。

2.3 最低可安裝的目標(biāo)API級(jí)別

從Android14開(kāi)始,targetSdkVersion低于23的應(yīng)用將無(wú)法被安裝,此舉旨在提高用戶(hù)的安全性和隱私性,一些惡意軟件通常會(huì)入侵一些API級(jí)別較低的設(shè)備,從而繞過(guò)最新版Android系統(tǒng)對(duì)用戶(hù)的保護(hù),當(dāng)嘗試在Android14設(shè)備上安裝低版本應(yīng)用時(shí),會(huì)顯示安裝失敗并拋出日志:INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 23

2.4 授予對(duì)照片和視頻的部分訪(fǎng)問(wèn)限制

在Android14上,當(dāng)應(yīng)用請(qǐng)求READ_MEDIA_IMAGES或READ_MEDIA_VIDEO媒體權(quán)限時(shí),用戶(hù)可以授予應(yīng)用訪(fǎng)問(wèn)部分照片和視頻的權(quán)限,新對(duì)話(huà)框顯示以下權(quán)限選項(xiàng):

  • 「選擇照片和視頻:」 Android 14 中的新功能,用戶(hù)選擇他們想要提供給應(yīng)用的特定照片和視頻。
  • 「全部允許」:用戶(hù)授予對(duì)設(shè)備上所有照片和視頻的完整庫(kù)訪(fǎng)問(wèn)權(quán)限。
  • 「不允許」:用戶(hù)拒絕所有訪(fǎng)問(wèn)。

Part 03

總結(jié)  

Android14在近兩個(gè)月應(yīng)該會(huì)推出穩(wěn)定版,本期分享主要對(duì)Beta版系統(tǒng)新特性和版本適配進(jìn)行了簡(jiǎn)要分析,之后 API 應(yīng)該不會(huì)有大的變動(dòng)。Android14針對(duì)UI交互和應(yīng)用權(quán)限方面做出進(jìn)一步地優(yōu)化,給用戶(hù)帶來(lái)全新使用體驗(yàn)的同時(shí)還兼顧了安全性和隱私性,不知道看完這篇分享的開(kāi)發(fā)者和用戶(hù)小伙伴們對(duì)Android14有沒(méi)有更期待了呢,接下來(lái)讓我們一起靜待Android14穩(wěn)定版的發(fā)布吧~

責(zé)任編輯:龐桂玉 來(lái)源: 移動(dòng)Labs
相關(guān)推薦

2023-09-12 07:10:13

Nacos架構(gòu)

2023-07-23 18:47:59

Docker開(kāi)源

2023-09-18 07:10:48

限流算法

2023-08-06 06:55:29

數(shù)字可視化物聯(lián)網(wǎng)

2023-08-29 07:02:09

3D

2023-04-15 20:25:23

微前端

2023-07-16 18:49:42

HTTP網(wǎng)絡(luò)

2023-07-12 16:03:37

Android開(kāi)發(fā)架構(gòu)

2023-07-02 16:09:57

人工智能人臉識(shí)別

2023-07-02 16:34:06

GPU虛擬化深度學(xué)習(xí)

2023-08-06 07:05:25

Android優(yōu)化

2023-07-31 08:55:15

AI技術(shù)網(wǎng)絡(luò)暴力

2023-08-06 07:00:59

Openstack網(wǎng)絡(luò)

2023-08-15 14:46:03

2024-12-18 14:10:33

2023-07-12 15:50:29

機(jī)器學(xué)習(xí)人工智能

2023-08-29 06:50:01

Javamaven

2023-09-03 19:13:29

AndroidKotlin

2023-09-03 19:21:07

大數(shù)據(jù)架構(gòu)

2023-08-07 06:31:56

Kafka
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)