當前位置:首頁 » 安卓系統 » androidteechart

androidteechart

發布時間: 2022-10-24 22:04:16

⑴ 有沒有用過 libnodave這個庫

用過。非常好用,比Prodave還要好用。除了讀寫內存外,還有start/stop PLC, Function Block讀取等功能。
另外,除了支持s7 300,400,1200外,還支持s5.
說明文檔網路一下就有了。除了win32以外,還支持Android, pascl, c, #,++,等多種語言和平台。強烈推薦!

⑵ magic4雙TEE什麼意思

系列搭載雙TEE安全系統,最大化守護用戶隱私安全。
針對大多智能手機常見的通話聲音泄漏問題,榮耀Magic4Pro行業首創全新的智慧隱私通話功能,在隱私保護模式下,利用創新的音頻技術和獨特的音頻通道設計,極大程度減少用戶在如電梯、會議室、計程車上等相對安靜的場景接打電話時的漏音問題。
榮耀Magic4系列還具備OSTurboX+GPUTurboX技術,是業界首款支持游戲AI超級渲染的手機。
Magic4Pro的游戲表現超過iPhone13Pro。
該機還採用了高通的超聲波指紋解鎖方案,搭載與高通聯合開發的雙TEE安全系統,配備獨立加密晶元,運行基於Android12打造的MagicUI6.0。

⑶ 如何添加自定義標簽中 TeeChart 軸上 Android 嗎

TeeChart的圖表的標題設置方法 tChart1.Header.Text = "圖表"; tChart1.Header.Lines = new string[] { "圖表1","圖表2","圖表3" }; //標題 設置Header的Text或者Lines,任選一個即可,這兩個是會相互覆蓋的 Text僅僅設置一行;The Text property is used to display customized strings inside Shapes.

⑷ android app怎麼調用hal層函數通過ca 去tee環境調用ta

快快

⑸ android tee 什麼系統支持

poweramp可以啊,是不是你的版本,我以前的電話錄音WAV的都行。我再試了一下還是可以啊,WAV的,是不是你的版本太低了?我的2.0.5-488漢化

⑹ 問答: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提供了新的機制,開發者可以指定屏幕不隨重力感應旋轉,而是用戶通過一個單獨的按鈕自行控制屏幕顯示轉向。

⑺ Google I/O 2016 上發布的 Android N 有哪些新特性

1.多窗口支持
在 Android N 中,我們為該平台引入了一個新的而且非常需要的多任務處理功能 — 多窗口支持。
現在,用戶可以一次在屏幕上打開兩個APP。
在運行 Android N 的手機和平板電腦上,用戶可以並排運行兩個APP,或者處於分屏模式時一個APP位於另一個APP之上。用戶可以通過拖動兩個APP之間的分隔線來調整APP。
在 Android TV 設備上,APP可以將自身置於畫中畫面模式,從而讓它們可以在用戶瀏覽或與其他APP交互時繼續顯示內容。如需了解詳細信息,請參閱下文。
多窗口支持為您提供新的吸引用戶方式,特別是在平板電腦和其他更大屏幕的設備上。您甚至可以在您的APP中啟用拖放,從而使用戶可以方便地將內容拖放到您的應用或從其中拖出內容—這是一個非常好的增強用戶體驗的方式。
向您的APP添加多窗口支持並配置多窗口顯示的處理方式非常簡單。例如,您可以指定您的 Activity 允許的最小尺寸,從而防止用戶將 Activity 調整到該尺寸以下。您還可以為APP禁用多窗口顯示,這可確保系統將僅以全屏模式顯示APP。
如需了解詳細信息,請參閱多窗口支持開發者文檔。
2.Notification 增強功能
在 Android N 中,我們重新設計了Notification,使其更易於使用並且速度更快。部分變更包括:
- 模板更新:我們正在更新Notification模板,新強調了圖片跟頭像。開發者將能夠充分利用新模板,只需進行少量的代碼調整。
- 綁定的Notification:系統可以將消息組合在一起(例如,按消息主題)並顯示組。用戶可以適當地進行 Dismiss 或 Archive 等操作。如果您已實現 Android Wear 的通知,那麼您已經很熟悉此模型。
- 直接回復:對於實時通信應用,Android 系統支持內聯回復,以便用戶可以直接在通知界面中快速回復簡訊。
- 自定義視圖:兩個新的 API 讓您在通知中使用自定義視圖時可以充分利用系統的風格,如Notification標題和操作。
如需了解如何實現新功能的信息,請參閱通知指南。
2.配置文件指導的 JIT/AOT 編譯
在 Android N 中,我們添加了 Just in Time (JIT) 編譯器,對 ART 進行代碼分析,讓它可以在應用運行時持續提升 Android 應用的性能。JIT 編譯器對 Android 運行組件當前的 Ahead of Time (AOT) 編譯器進行了補充,有助於提升運行時性能,節省存儲空間,加快應用更新和系統更新速度。
配置文件指導的編譯讓 Android 運行組件能夠根據應用的實際使用以及設備上的情況管理每個應用的 AOT/JIT 編譯。例如,Android 運行組件維護每個應用的熱方法的配置文件,並且可以預編譯和緩存這些方法以實現最佳性能。對於應用的其他部分,在實際使用之前不會進行編譯。
除提升應用的關鍵部分的性能外,配置文件指導的編譯還有助於減少整個 RAM 佔用,包括關聯的二進制文件。此功能對於低內存設備非常尤其重要。
Android 運行組件在管理配置文件指導的編譯時,可最大程度降低對設備電池的影響。僅當設備處於空閑狀態和充電時才進行編譯,從而可以通過提前執行該工作節約時間和省電。
3.快速的應用安裝路徑
Android 運行組件的 JIT 編譯器最實際的好處之一是應用安裝和系統更新的速度。即使在 Android 6.0 中需要幾分鍾進行優化和安裝的大型應用,現在只需幾秒鍾就可以完成安裝。系統更新也變得更快,因為省去了優化步驟。
4.瞌睡模式
Android 6.0 推出了瞌睡模式,即設備處於空閑狀態時,通過推遲應用的 CPU 和網路活動以實現省電目的的系統模式,例如,設備放在桌上或抽屜里時。
現在,在 Android N 中,瞌睡模式又前進了一步,在外出時也可以省電。只要屏幕關閉了一段時間,且設備未插入電源,瞌睡模式就會對應用使用熟悉的 CPU 和網路限制。這意味著用戶即使將設備放入口袋裡也可以省電。

屏幕關閉片刻後,設備在使用電池時,瞌睡模式將限制網路訪問,同時延遲作業和同步。在短暫的維護時間范圍後,其允許應用訪問網路,並執行延遲的作業/同步。打開屏幕或將設備插入電源會使設備退出瞌睡模式。
當設備再次處於靜止狀態時,屏幕關閉且使用電池一段時間,瞌睡模式針對 PowerManager.WakeLock,AlarmManager 警報和 GPS/Wi-Fi 掃描應用完整 CPU 和網路限制。
無論設備是否處於運動狀態,將應用調整到瞌睡模式的最佳做法均相同,因此,如果您已更新應用以妥善處理瞌睡模式,則一切就緒。如果不是,請立即開始將應用調整到瞌睡模式。
5.Project Svelte:後台優化
Project Svelte 在持續改善,以最大程度減少生態系統中一系列 Android 設備中系統和應用使用的 RAM。在 Android N 中,Project Svelte 注重優化在後台中運行應用的方式。
後台處理是大多數應用的一個重要部分。處理得當,可讓您實現非常棒的用戶體驗 — 即時、快速和情境感知。如果處理不得當,後台處理會毫無必要地消耗 RAM(和電池),同時影響其他應用的系統性能。
自 Android 5.0 發布以來,JobScheler 已成為執行後台工作的首選方式,其工作方式有利於用戶。應用可以在安排作業的同時允許系統基於內存、電源和連接情況進行優化。JobScheler 可實現控制和簡潔性,我們想要所有應用都使用它。
另一個非常好的選擇是 GCMNetworkManager(Google Play 服務的一部分),其在舊版 Android 中提供類似的作業安排和兼容性。
我們在繼續擴展 JobScheler 和 GCMNetworkManager,以符合多個用例 — 例如,在 Android N 中,現在,您可以基於內容提供程序中的更改安排後台工作。同時,我們開始棄用一些較舊的模式,這些模式會降低系統性能,特別是低內存設備的系統性能。
在 Android N 中,我們刪除了三個常用隱式廣播 — CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO — 因為這些廣播可能會一次喚醒多個應用的後台進程,同時會耗盡內存和電池。如果您的應用收到這些廣播,請充分利用 N Developer Preview 以遷移到 JobScheler 和相關的 API。
如需了解詳情,請查看後台優化文檔。
6.Data Saver
在移動設備的整個生命周期,蜂窩數據計劃的成本通常會超出設備本身的成本。對於許多用戶而言,蜂窩數據是他們想要節省的昂貴資源。
Android N 推出了 Data Saver 模式,這是一項新的系統服務,有助於減少應用使用的蜂窩數據,無論是在漫遊,賬單周期即將結束,還是使用少量的預付費數據包。Data Saver 讓用戶可以控制應用使用蜂窩數據的方式,同時讓開發者打開 Data Saver 時可以提供更多有效的服務。
用戶在 Settings 中啟用 Data Saver 且設備位於按流量計費的網路上時,系統屏蔽後台數據使用,同時指示應用在前台盡可能使用較少的數據 — 例如,通過限制用於流媒體服務的比特率、降低圖片質量、延遲最佳的預緩沖等方法來實現。用戶可以將特定應用加入白名單以允許後台按流量的數據使用,即使在打開 Data Saver 時也是如此。

Android N 繼承了 ConnectivityManager,以便為應用檢索用戶的 Data Saver 首選項並監控首選項變更提供一種方式。所有應用均應檢查用戶是否已啟用 Data Saver 並努力限制前台和後台數據的使用。
7.快速設置Tile API
「快速設置」通常用於直接從通知欄顯示關鍵設置和操作,非常簡單。在 Android N 中,我們已擴展「快速設置」的范圍,使其更加有用更方便。
我們為額外的「快速設置」Tile添加了更多空間,用戶可以通過向左或向右滑動跨分頁的顯示區域訪問它們。我們還讓用戶可以控制顯示哪些「快速設置」Tile以及顯示的位置 — 用戶可以通過拖放Tile來添加或移動Tile。
對於開發者,Android N 還添加了一個新的 API,從而讓您可以定義自己的「快速設置」Tile,使用戶可以輕松訪問您應用中的關鍵控制項和操作。
對於急需或頻繁使用的控制項和操作,保留「快速設置」Tile,且不應將其用作啟動應用的快捷方式。
定義Tile後,您可以將它們顯示給用戶,用戶可通過拖放將Tile添加到「快速設置」。

如需創建應用Tile的更多信息,請參閱可下載的 API 參考中的 android.service.quicksettings.Tile。
8.號碼屏蔽
Android N 現在支持在平台中進行號碼屏蔽,提供框架 API,讓服務提供商可以維護屏蔽的號碼列表。默認簡訊應用、默認手機應用和提供商應用可以對屏蔽的號碼列表進行讀取和寫入操作。其他應用則無法訪問此列表。
通過使號碼屏蔽成為平台的標准功能,Android 為應用提供一致的方式來支持廣泛的設備上的號碼屏蔽。應用可以利用的其他優勢包括:
- 還會屏蔽已屏蔽的來電號碼發出的簡訊
- 通過 Backup & Restore(備份和還原)功能可以跨重置和設備保留屏蔽的號碼
- 多個應用可以使用相同的屏蔽號碼列表
此外,通過 Android 的運營商應用集成表示運營商可以讀取設備上屏蔽的號碼列表,並為用戶執行服務端屏蔽,以阻止不需要的來電和簡訊通過任何介質(如 VOIP 端點或轉接電話)到達用戶。
如需了解詳細信息,請參閱可下載的 API 參考中的 android.provider.BlockedNumberContract。
9.來電過濾
Android N 允許默認的手機應用過濾來電。手機應用執行此操作的方式是實現新的 CallScreeningService,該方法允許手機應用基於來電的 Call.Details 執行大量操作,例如:
- 拒絕來電
- 不允許來電到達呼叫日誌
- 不向用戶顯示來電通知
如需了解詳細信息,請參閱可下載的 API 參考中的 android.telecom.CallScreeningService。
10.多區域設置支持、多語言
Android N 現在允許用戶在設置中選擇多個區域設置,以更好地支持雙語用例。應用可以使用新的 API 獲取用戶選擇的區域設置,然後為多區域設置用戶提供更成熟的用戶體驗 — 如以多個語言顯示搜索結果,並且不會以用戶了解的語言翻譯網頁。
除多區域設置支持外,Android N 還擴展了用戶可用的語言范圍。它針對常用語言提供超過 25 種的變體,如英語、西班牙語、法語和阿拉伯語。它還針對 100 多種新語言添加了部分支持。
應用可以通過調用 LocaleList.GetDefault() 獲取用戶設置的區域設置列表。為支持擴展的區域設置數量,Android N 正在改變其解析資源的方式。請務必使用新的資源解析邏輯測試和驗證您的應用是否能如期運行。
如需有關新資源解析行為和應遵循的最佳做法的更多信息,請參閱多語言支持。
11.Android 中的 ICU4J API
Android N 目前在 Android 框架(位於 android.icu 軟體包下)中提供 ICU4J API 的子集。遷移很簡單,主要是需要從 com.java.icu 命名空間更改為 android.icu。如果您已在您的應用中使用 ICU4J 捆綁包,切換到 Android 框架中提供的 android.icu API 可以大量節省 APK 大小。
如果要了解有關 Android ICU4J API 的更多信息,請參閱 ICU4J 支持。
12.OpenGL™ ES 3.2 API
Android N 添加了框架介面和對 OpenGL ES 3.2 的平台支持,包括:
- 來自 Android 擴展包 (AEP) 的所有擴展(EXT_texture_sRGB_decode 除外)。
- 針對 HDR 的浮點幀緩沖和延遲著色。
- BaseVertex 繪圖調用可實現更好的批處理和流媒體服務。
- 強大的緩沖區訪問控制可減少 WebGL 開銷。
Android N 上適用於 OpenGL ES 3.2 的框架 API 與 GLES32 類一起提供。使用 OpenGL ES 3.2 時,請務必通過 標記和 android:glEsVersion 屬性在您的清單文件中聲明要求。
如需了解有關使用 OpenGL ES 的信息,包括如何在運行時檢查設備支持的 OpenGL ES 版本,請參閱 OpenGL ES API 指南。
13.Android TV 錄制
Android N 通過新的錄制 API 添加了從 Android TV 輸入服務錄制和播放內容的功能。構建在現有時移 API 之上,TV 輸入服務可以控制能夠錄制的渠道數據、保存錄制的會話的方式,同時可通過錄制的內容管理用戶交互。
如需了解詳細信息,請參閱 Android TV 錄制 API。
14.Android for Work
Android for Work 針對運行 Android N 的設備添加了許多新功能和 API。部分重要內容如下— 有關與 Android N 相關的 Android for Work 更新的完整列表,請參閱 Android for Work 變更。
15.關閉工作
在具有託管配置文件的設備上,用戶可以切換工作模式。工作模式關閉時,管理的用戶臨時關閉,其禁用託管配置文件應用、後台同步和通知。這包括配置文件所有者應用。關閉工作模式時,系統顯示永久狀態圖標,以提醒用戶他們無法啟動工作應用。啟動器指示該工作應用和小組件無法訪問。
16.Always on VPN
設備所有者和配置文件所有者可以確保工作應用始終通過指定的 VPN 連接。系統在設備啟動後自動啟動該 VPN。
新的 DevicePolicyManager 方法為 setAlwaysOnVpnPackage() 和 getAlwaysOnVpnPackage()。
由於 VPN 服務無需應用交互即可由系統直接綁定,因此,VPN 客戶端必須針對 Always on VPN 處理新的入口點。和以前一樣,由與操作匹配的 Intent 過濾器將服務指示給系統。android.net.VpnService。
用戶還可以使用 Settings>More>Vpn 在主要用戶中手動設置實現 VPNService 方法的 Always on VPN 客戶端。
17.輔助工具增強功能
Android N 現在針對新的設備設置直接在歡迎屏幕上提供「Vision Settings」。這使用戶可以更容易發現和配置他們設備上的輔助工具功能,包括放大手勢、字體大小、顯示屏尺寸和 TalkBack。
隨著這些輔助工具功能更為突出,在啟用這些功能後,您的用戶更可能試用您的應用。請務必提前啟用這些設置測試您的應用。您可以通過 Settings > Accessibility 啟用它們。
還是在 Android N 中,輔助工具服務現在可以幫助具有動作障礙的用戶觸摸屏幕。全新的 API 允許使用人臉追蹤、眼球追蹤、點掃描等功能構建服務,以滿足這些用戶的需求。
如需了解詳細信息,請參閱可下載的 API 參考 中的 android.accessibilityservice.GestureDescription
18.直接啟動
直接啟動可以縮短設備啟動時間,讓注冊的應用具有有限的功能,即使在意外重啟後。例如,如果當用戶睡覺時加密的設備重啟,那麼注冊的警報、消息和來電現在可以和往常一樣繼續通知用戶。這也意味著重啟後輔助工具服務會立即可用。
在 Android N 中,直接啟動充分利用基於文件的加密,以針對系統和應用數據啟用細化的加密策略。為系統和應用數據。系統針對選定的系統數據和顯式注冊的應用數據使用設備加密的存儲。默認情況下,憑據加密的存儲可用於所有其他系統數據、用戶數據、應用及應用數據。
啟動時,系統在受限的模式中啟動,僅訪問設備加密的數據,不會對應用或數據進行常規訪問。如果您有想要在此模式下運行的組件,您可以通過在清單文件中設置標記注冊它們。重啟後,系統通過廣播 LOCKED_BOOT_COMPLETED Intent 激活注冊的組件。系統確保注冊的設備加密的應用數據在解鎖前可用。所有其他數據在用戶確認鎖定屏幕憑據進行解密前均不可用。
如需了解詳細信息,請參閱直接啟動。
19.密鑰認證
使用硬體支持的密鑰庫,可更安全地在 Android 設備上創建、存儲和使用加密密鑰。它們可保護密鑰免受 Linux 內核、潛在的 Android 漏洞的攻擊,也可防止從已取得 root 許可權的設備提取密鑰。
為了讓硬體支持的密鑰庫使用起來更簡單和更安全,Android N 引入了密鑰認證。應用和關閉的設備可使用密鑰認證以堅決地確定 RSA 或 EC 密鑰對是否受硬體支持、密鑰對的屬性如何,以及其使用和有效性有何限制。
應用和關閉的設備服務可以通過 X.509 認證證書(必須由有效的認證密鑰簽署)請求有關密鑰對的信息。認證密鑰是一個 ECDSA 簽署密鑰,其在出廠時被注入設備的硬體支持的密鑰庫。因此,有效的認證密鑰簽署的認證證書可確認硬體支持的密鑰庫是否存在,以及該密鑰庫中密鑰對的詳細信息。
為確保設備使用安全的官方 Android 出廠映像,密鑰認證要求設備 bootloader 向可信執行環境 (TEE) 提供以下信息:
設備上安裝的操作系統版本和補丁級別
驗證的啟動公鑰和鎖定狀態。
如需了解有關硬體支持的密鑰庫功能的詳細信息,請參閱硬體支持的密鑰庫指南。
除密鑰認證外,Android N 還推出了指紋綁定密鑰,在指紋注冊時不會撤銷。
20.網路安全性配置
在 Android N 中,通過使用說明性網路安全性配置(而不是使用傳統的易出錯的編程 API(例如,X509TrustManager)),應用可以安全地自定義其安全(HTTPS、TLS)連接的行為,無需任何代碼修改。
支持的功能:
自定義信任錨。讓應用可以針對其安全連接自定義哪些證書頒發機構 (CA) 受信任。例如,信任特定的自簽署證書或受限的公共 CA 集。
僅調試重寫。讓應用開發者可以安全調試其應用的安全連接,而不會增加安裝基礎的風險。
明文流量退出。讓應用可以防止自身意外使用明文流量。
固定證書。這是一項高級功能,讓應用可以針對安全連接限制哪些伺服器密鑰受信任。
如需了解詳細信息,請參閱網路安全性配置。

⑻ Google I/O 2016 上發布的 Android N 有哪些新特性

1.多窗口支持
在 Android N 中,我們為該平台引入了一個新的而且非常需要的多任務處理功能 — 多窗口支持。
現在,用戶可以一次在屏幕上打開兩個APP。
在運行 Android N 的手機和平板電腦上,用戶可以並排運行兩個APP,或者處於分屏模式時一個APP位於另一個APP之上。用戶可以通過拖動兩個APP之間的分隔線來調整APP。
在 Android TV 設備上,APP可以將自身置於畫中畫面模式,從而讓它們可以在用戶瀏覽或與其他APP交互時繼續顯示內容。如需了解詳細信息,請參閱下文。
多窗口支持為您提供新的吸引用戶方式,特別是在平板電腦和其他更大屏幕的設備上。您甚至可以在您的APP中啟用拖放,從而使用戶可以方便地將內容拖放到您的應用或從其中拖出內容—這是一個非常好的增強用戶體驗的方式。
向您的APP添加多窗口支持並配置多窗口顯示的處理方式非常簡單。例如,您可以指定您的 Activity 允許的最小尺寸,從而防止用戶將 Activity 調整到該尺寸以下。您還可以為APP禁用多窗口顯示,這可確保系統將僅以全屏模式顯示APP。
如需了解詳細信息,請參閱多窗口支持開發者文檔。
2.Notification 增強功能
在 Android N 中,我們重新設計了Notification,使其更易於使用並且速度更快。部分變更包括:
- 模板更新:我們正在更新Notification模板,新強調了圖片跟頭像。開發者將能夠充分利用新模板,只需進行少量的代碼調整。
- 綁定的Notification:系統可以將消息組合在一起(例如,按消息主題)並顯示組。用戶可以適當地進行 Dismiss 或 Archive 等操作。如果您已實現 Android Wear 的通知,那麼您已經很熟悉此模型。
- 直接回復:對於實時通信應用,Android 系統支持內聯回復,以便用戶可以直接在通知界面中快速回復簡訊。
- 自定義視圖:兩個新的 API 讓您在通知中使用自定義視圖時可以充分利用系統的風格,如Notification標題和操作。
如需了解如何實現新功能的信息,請參閱通知指南。
2.配置文件指導的 JIT/AOT 編譯
在 Android N 中,我們添加了 Just in Time (JIT) 編譯器,對 ART 進行代碼分析,讓它可以在應用運行時持續提升 Android 應用的性能。JIT 編譯器對 Android 運行組件當前的 Ahead of Time (AOT) 編譯器進行了補充,有助於提升運行時性能,節省存儲空間,加快應用更新和系統更新速度。
配置文件指導的編譯讓 Android 運行組件能夠根據應用的實際使用以及設備上的情況管理每個應用的 AOT/JIT 編譯。例如,Android 運行組件維護每個應用的熱方法的配置文件,並且可以預編譯和緩存這些方法以實現最佳性能。對於應用的其他部分,在實際使用之前不會進行編譯。
除提升應用的關鍵部分的性能外,配置文件指導的編譯還有助於減少整個 RAM 佔用,包括關聯的二進制文件。此功能對於低內存設備非常尤其重要。
Android 運行組件在管理配置文件指導的編譯時,可最大程度降低對設備電池的影響。僅當設備處於空閑狀態和充電時才進行編譯,從而可以通過提前執行該工作節約時間和省電。
3.快速的應用安裝路徑
Android 運行組件的 JIT 編譯器最實際的好處之一是應用安裝和系統更新的速度。即使在 Android 6.0 中需要幾分鍾進行優化和安裝的大型應用,現在只需幾秒鍾就可以完成安裝。系統更新也變得更快,因為省去了優化步驟。
4.瞌睡模式
Android 6.0 推出了瞌睡模式,即設備處於空閑狀態時,通過推遲應用的 CPU 和網路活動以實現省電目的的系統模式,例如,設備放在桌上或抽屜里時。
現在,在 Android N 中,瞌睡模式又前進了一步,在外出時也可以省電。只要屏幕關閉了一段時間,且設備未插入電源,瞌睡模式就會對應用使用熟悉的 CPU 和網路限制。這意味著用戶即使將設備放入口袋裡也可以省電。

屏幕關閉片刻後,設備在使用電池時,瞌睡模式將限制網路訪問,同時延遲作業和同步。在短暫的維護時間范圍後,其允許應用訪問網路,並執行延遲的作業/同步。打開屏幕或將設備插入電源會使設備退出瞌睡模式。
當設備再次處於靜止狀態時,屏幕關閉且使用電池一段時間,瞌睡模式針對 PowerManager.WakeLock,AlarmManager 警報和 GPS/Wi-Fi 掃描應用完整 CPU 和網路限制。
無論設備是否處於運動狀態,將應用調整到瞌睡模式的最佳做法均相同,因此,如果您已更新應用以妥善處理瞌睡模式,則一切就緒。如果不是,請立即開始將應用調整到瞌睡模式。
5.Project Svelte:後台優化
Project Svelte 在持續改善,以最大程度減少生態系統中一系列 Android 設備中系統和應用使用的 RAM。在 Android N 中,Project Svelte 注重優化在後台中運行應用的方式。
後台處理是大多數應用的一個重要部分。處理得當,可讓您實現非常棒的用戶體驗 — 即時、快速和情境感知。如果處理不得當,後台處理會毫無必要地消耗 RAM(和電池),同時影響其他應用的系統性能。
自 Android 5.0 發布以來,JobScheler 已成為執行後台工作的首選方式,其工作方式有利於用戶。應用可以在安排作業的同時允許系統基於內存、電源和連接情況進行優化。JobScheler 可實現控制和簡潔性,我們想要所有應用都使用它。
另一個非常好的選擇是 GCMNetworkManager(Google Play 服務的一部分),其在舊版 Android 中提供類似的作業安排和兼容性。
我們在繼續擴展 JobScheler 和 GCMNetworkManager,以符合多個用例 — 例如,在 Android N 中,現在,您可以基於內容提供程序中的更改安排後台工作。同時,我們開始棄用一些較舊的模式,這些模式會降低系統性能,特別是低內存設備的系統性能。
在 Android N 中,我們刪除了三個常用隱式廣播 — CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO — 因為這些廣播可能會一次喚醒多個應用的後台進程,同時會耗盡內存和電池。如果您的應用收到這些廣播,請充分利用 N Developer Preview 以遷移到 JobScheler 和相關的 API。
如需了解詳情,請查看後台優化文檔。
6.Data Saver
在移動設備的整個生命周期,蜂窩數據計劃的成本通常會超出設備本身的成本。對於許多用戶而言,蜂窩數據是他們想要節省的昂貴資源。
Android N 推出了 Data Saver 模式,這是一項新的系統服務,有助於減少應用使用的蜂窩數據,無論是在漫遊,賬單周期即將結束,還是使用少量的預付費數據包。Data Saver 讓用戶可以控制應用使用蜂窩數據的方式,同時讓開發者打開 Data Saver 時可以提供更多有效的服務。
用戶在 Settings 中啟用 Data Saver 且設備位於按流量計費的網路上時,系統屏蔽後台數據使用,同時指示應用在前台盡可能使用較少的數據 — 例如,通過限制用於流媒體服務的比特率、降低圖片質量、延遲最佳的預緩沖等方法來實現。用戶可以將特定應用加入白名單以允許後台按流量的數據使用,即使在打開 Data Saver 時也是如此。

Android N 繼承了 ConnectivityManager,以便為應用檢索用戶的 Data Saver 首選項並監控首選項變更提供一種方式。所有應用均應檢查用戶是否已啟用 Data Saver 並努力限制前台和後台數據的使用。
7.快速設置Tile API
「快速設置」通常用於直接從通知欄顯示關鍵設置和操作,非常簡單。在 Android N 中,我們已擴展「快速設置」的范圍,使其更加有用更方便。
我們為額外的「快速設置」Tile添加了更多空間,用戶可以通過向左或向右滑動跨分頁的顯示區域訪問它們。我們還讓用戶可以控制顯示哪些「快速設置」Tile以及顯示的位置 — 用戶可以通過拖放Tile來添加或移動Tile。
對於開發者,Android N 還添加了一個新的 API,從而讓您可以定義自己的「快速設置」Tile,使用戶可以輕松訪問您應用中的關鍵控制項和操作。
對於急需或頻繁使用的控制項和操作,保留「快速設置」Tile,且不應將其用作啟動應用的快捷方式。
定義Tile後,您可以將它們顯示給用戶,用戶可通過拖放將Tile添加到「快速設置」。

如需創建應用Tile的更多信息,請參閱可下載的 API 參考中的 android.service.quicksettings.Tile。
8.號碼屏蔽
Android N 現在支持在平台中進行號碼屏蔽,提供框架 API,讓服務提供商可以維護屏蔽的號碼列表。默認簡訊應用、默認手機應用和提供商應用可以對屏蔽的號碼列表進行讀取和寫入操作。其他應用則無法訪問此列表。
通過使號碼屏蔽成為平台的標准功能,Android 為應用提供一致的方式來支持廣泛的設備上的號碼屏蔽。應用可以利用的其他優勢包括:
- 還會屏蔽已屏蔽的來電號碼發出的簡訊
- 通過 Backup & Restore(備份和還原)功能可以跨重置和設備保留屏蔽的號碼
- 多個應用可以使用相同的屏蔽號碼列表
此外,通過 Android 的運營商應用集成表示運營商可以讀取設備上屏蔽的號碼列表,並為用戶執行服務端屏蔽,以阻止不需要的來電和簡訊通過任何介質(如 VOIP 端點或轉接電話)到達用戶。
如需了解詳細信息,請參閱可下載的 API 參考中的 android.provider.BlockedNumberContract。
9.來電過濾
Android N 允許默認的手機應用過濾來電。手機應用執行此操作的方式是實現新的 CallScreeningService,該方法允許手機應用基於來電的 Call.Details 執行大量操作,例如:
- 拒絕來電
- 不允許來電到達呼叫日誌
- 不向用戶顯示來電通知
如需了解詳細信息,請參閱可下載的 API 參考中的 android.telecom.CallScreeningService。
10.多區域設置支持、多語言
Android N 現在允許用戶在設置中選擇多個區域設置,以更好地支持雙語用例。應用可以使用新的 API 獲取用戶選擇的區域設置,然後為多區域設置用戶提供更成熟的用戶體驗 — 如以多個語言顯示搜索結果,並且不會以用戶了解的語言翻譯網頁。
除多區域設置支持外,Android N 還擴展了用戶可用的語言范圍。它針對常用語言提供超過 25 種的變體,如英語、西班牙語、法語和阿拉伯語。它還針對 100 多種新語言添加了部分支持。
應用可以通過調用 LocaleList.GetDefault() 獲取用戶設置的區域設置列表。為支持擴展的區域設置數量,Android N 正在改變其解析資源的方式。請務必使用新的資源解析邏輯測試和驗證您的應用是否能如期運行。
如需有關新資源解析行為和應遵循的最佳做法的更多信息,請參閱多語言支持。
11.Android 中的 ICU4J API
Android N 目前在 Android 框架(位於 android.icu 軟體包下)中提供 ICU4J API 的子集。遷移很簡單,主要是需要從 com.java.icu 命名空間更改為 android.icu。如果您已在您的應用中使用 ICU4J 捆綁包,切換到 Android 框架中提供的 android.icu API 可以大量節省 APK 大小。
如果要了解有關 Android ICU4J API 的更多信息,請參閱 ICU4J 支持。
12.OpenGL™ ES 3.2 API
Android N 添加了框架介面和對 OpenGL ES 3.2 的平台支持,包括:
- 來自 Android 擴展包 (AEP) 的所有擴展(EXT_texture_sRGB_decode 除外)。
- 針對 HDR 的浮點幀緩沖和延遲著色。
- BaseVertex 繪圖調用可實現更好的批處理和流媒體服務。
- 強大的緩沖區訪問控制可減少 WebGL 開銷。
Android N 上適用於 OpenGL ES 3.2 的框架 API 與 GLES32 類一起提供。使用 OpenGL ES 3.2 時,請務必通過 標記和 android:glEsVersion 屬性在您的清單文件中聲明要求。
如需了解有關使用 OpenGL ES 的信息,包括如何在運行時檢查設備支持的 OpenGL ES 版本,請參閱 OpenGL ES API 指南。
13.Android TV 錄制
Android N 通過新的錄制 API 添加了從 Android TV 輸入服務錄制和播放內容的功能。構建在現有時移 API 之上,TV 輸入服務可以控制能夠錄制的渠道數據、保存錄制的會話的方式,同時可通過錄制的內容管理用戶交互。
如需了解詳細信息,請參閱 Android TV 錄制 API。
14.Android for Work
Android for Work 針對運行 Android N 的設備添加了許多新功能和 API。部分重要內容如下— 有關與 Android N 相關的 Android for Work 更新的完整列表,請參閱 Android for Work 變更。
15.關閉工作
在具有託管配置文件的設備上,用戶可以切換工作模式。工作模式關閉時,管理的用戶臨時關閉,其禁用託管配置文件應用、後台同步和通知。這包括配置文件所有者應用。關閉工作模式時,系統顯示永久狀態圖標,以提醒用戶他們無法啟動工作應用。啟動器指示該工作應用和小組件無法訪問。
16.Always on VPN
設備所有者和配置文件所有者可以確保工作應用始終通過指定的 VPN 連接。系統在設備啟動後自動啟動該 VPN。
新的 DevicePolicyManager 方法為 setAlwaysOnVpnPackage() 和 getAlwaysOnVpnPackage()。
由於 VPN 服務無需應用交互即可由系統直接綁定,因此,VPN 客戶端必須針對 Always on VPN 處理新的入口點。和以前一樣,由與操作匹配的 Intent 過濾器將服務指示給系統。android.net.VpnService。
用戶還可以使用 Settings>More>Vpn 在主要用戶中手動設置實現 VPNService 方法的 Always on VPN 客戶端。
17.輔助工具增強功能
Android N 現在針對新的設備設置直接在歡迎屏幕上提供「Vision Settings」。這使用戶可以更容易發現和配置他們設備上的輔助工具功能,包括放大手勢、字體大小、顯示屏尺寸和 TalkBack。
隨著這些輔助工具功能更為突出,在啟用這些功能後,您的用戶更可能試用您的應用。請務必提前啟用這些設置測試您的應用。您可以通過 Settings > Accessibility 啟用它們。
還是在 Android N 中,輔助工具服務現在可以幫助具有動作障礙的用戶觸摸屏幕。全新的 API 允許使用人臉追蹤、眼球追蹤、點掃描等功能構建服務,以滿足這些用戶的需求。
如需了解詳細信息,請參閱可下載的 API 參考 中的 android.accessibilityservice.GestureDescription
18.直接啟動
直接啟動可以縮短設備啟動時間,讓注冊的應用具有有限的功能,即使在意外重啟後。例如,如果當用戶睡覺時加密的設備重啟,那麼注冊的警報、消息和來電現在可以和往常一樣繼續通知用戶。這也意味著重啟後輔助工具服務會立即可用。
在 Android N 中,直接啟動充分利用基於文件的加密,以針對系統和應用數據啟用細化的加密策略。為系統和應用數據。系統針對選定的系統數據和顯式注冊的應用數據使用設備加密的存儲。默認情況下,憑據加密的存儲可用於所有其他系統數據、用戶數據、應用及應用數據。
啟動時,系統在受限的模式中啟動,僅訪問設備加密的數據,不會對應用或數據進行常規訪問。如果您有想要在此模式下運行的組件,您可以通過在清單文件中設置標記注冊它們。重啟後,系統通過廣播 LOCKED_BOOT_COMPLETED Intent 激活注冊的組件。系統確保注冊的設備加密的應用數據在解鎖前可用。所有其他數據在用戶確認鎖定屏幕憑據進行解密前均不可用。
如需了解詳細信息,請參閱直接啟動。
19.密鑰認證
使用硬體支持的密鑰庫,可更安全地在 Android 設備上創建、存儲和使用加密密鑰。它們可保護密鑰免受 Linux 內核、潛在的 Android 漏洞的攻擊,也可防止從已取得 root 許可權的設備提取密鑰。
為了讓硬體支持的密鑰庫使用起來更簡單和更安全,Android N 引入了密鑰認證。應用和關閉的設備可使用密鑰認證以堅決地確定 RSA 或 EC 密鑰對是否受硬體支持、密鑰對的屬性如何,以及其使用和有效性有何限制。
應用和關閉的設備服務可以通過 X.509 認證證書(必須由有效的認證密鑰簽署)請求有關密鑰對的信息。認證密鑰是一個 ECDSA 簽署密鑰,其在出廠時被注入設備的硬體支持的密鑰庫。因此,有效的認證密鑰簽署的認證證書可確認硬體支持的密鑰庫是否存在,以及該密鑰庫中密鑰對的詳細信息。
為確保設備使用安全的官方 Android 出廠映像,密鑰認證要求設備 bootloader 向可信執行環境 (TEE) 提供以下信息:
設備上安裝的操作系統版本和補丁級別
驗證的啟動公鑰和鎖定狀態。
如需了解有關硬體支持的密鑰庫功能的詳細信息,請參閱硬體支持的密鑰庫指南。
除密鑰認證外,Android N 還推出了指紋綁定密鑰,在指紋注冊時不會撤銷。
20.網路安全性配置
在 Android N 中,通過使用說明性網路安全性配置(而不是使用傳統的易出錯的編程 API(例如,X509TrustManager)),應用可以安全地自定義其安全(HTTPS、TLS)連接的行為,無需任何代碼修改。
支持的功能:
自定義信任錨。讓應用可以針對其安全連接自定義哪些證書頒發機構 (CA) 受信任。例如,信任特定的自簽署證書或受限的公共 CA 集。
僅調試重寫。讓應用開發者可以安全調試其應用的安全連接,而不會增加安裝基礎的風險。
明文流量退出。讓應用可以防止自身意外使用明文流量。
固定證書。這是一項高級功能,讓應用可以針對安全連接限制哪些伺服器密鑰受信任。
如需了解詳細信息,請參閱網路安全性配置。
21.默認受信任的證書頒發機構
默認情況下,針對 Android N 的應用僅信任系統提供的證書,且不再信任用戶添加的證書頒發機構 (CA)。如果針對 Android N 的應用希望信任用戶添加的 CA,則應使用網路安全性配置以指定信任用戶 CA 的方式。
22.APK signature scheme v2
PackageManager 類現在支持使用 APK signature scheme v2 驗證應用。APK signature scheme v2 是一個整個文件簽名架構,通過檢測對 APK 文件進行的任何未經授權更改,可大幅提高驗證速度,同時也可加強完整性保證。
為保持向後兼容,在使用 v2 簽名架構簽署之前,APK 必須先使用 v1 簽名架構(JAR 簽名架構)簽署。對於 v2 簽名架構,如果在使用 v2 架構簽署後使用額外的證書簽署 APK,驗證將失敗。
APK signature scheme v2 支持稍後將在 N Developer Preview中推出。
23.作用域目錄訪問
在 Android N 中,應用可以使用新的 API 請求訪問特定的外部存儲目錄,包括可移動媒體上的目錄,如 SD 卡。新 API 大大簡化了應用訪問標准外部存儲目錄的方式,如 Pictures 目錄。應用(如照片應用)可以使用這些 API(而不是使用 READ_EXTERNAL_STORAGE),其授予所有存儲目錄的訪問許可權或存儲訪問框架,從而讓用戶可以導航到目錄。
此外,新的 API 簡化了用戶向應用授予外部存儲訪問許可權的步驟。當您使用新的 API 時,系統使用一個簡單的許可權 UI,其清楚地詳細介紹應用正在請求訪問的目錄。

熱點內容
androidmime 發布:2025-01-31 22:34:44 瀏覽:782
ftp和http的中文含義是 發布:2025-01-31 22:33:48 瀏覽:402
sqlite3存儲圖片 發布:2025-01-31 22:27:14 瀏覽:162
sqlserverphp 發布:2025-01-31 22:22:55 瀏覽:877
曲馬多存儲 發布:2025-01-31 22:22:52 瀏覽:538
緩存兒歌 發布:2025-01-31 22:21:26 瀏覽:528
學java有發展嗎 發布:2025-01-31 21:44:45 瀏覽:569
HBX編程 發布:2025-01-31 21:39:26 瀏覽:161
資料庫精品課 發布:2025-01-31 21:38:14 瀏覽:421
sqlsever語句 發布:2025-01-31 21:34:57 瀏覽:145