Android 4.4版本及特性

Android版本日新月異而克,幾乎每年都有一到兩個新的版本發(fā)布溢吻,在此整理一下Android各個版本的特性维费。

KitKat

Api Level 19 Android 4.4 有以下個人覺得經(jīng)常用的特性 詳細見官方文檔

READ_EXTERNAL_STORAGE權限改動

這個版本最早開始引入Android的安全機制,權限申請功能促王。官方文檔是這么說的犀盟,在這個版本中,無法讀取外部存儲空間上的共享文件蝇狼,manifest中申請READ_EXTERNAL_STORAGE權限阅畴,否則無法訪問

getExtrenalStoragePublicDirectory()

返回目錄中的文件,但是如果只需要訪問

getExternalFilesDir()

提供的應用持有目錄就不需要這個權限

WebView 改動

官方聲明在這個版本W(wǎng)ebView
底層代碼和相關的api 升級為基于現(xiàn)代chromium的源代碼迅耘,就是說在這個版本后webView的性能得到大幅度提升贱枣,所以說嵌入H5過多的應用可以將targetSdkVersion更改到18 來測試對于老手機的兼容性

短信提供程序

個人覺得這個功能主要是用在驗證碼比較多的應用中,像貸款颤专,和金融類應用纽哥,經(jīng)常需要一堆驗證碼,可以考慮接一個這個自動獲取驗證碼

telephony 內(nèi)容提供程序允許應用讀取設備的短息和彩信包含已經(jīng)接受栖秕、起草春塌、發(fā)送、掛起等操作的短信。 通過偵聽SMS_RECEIVED_ACTION 來獲取短信里的內(nèi)容只壳。

紅外線發(fā)射器

這個功能主要是我之前寫過一個遙控器的應用去搞公司那個牛掰的空調(diào)俏拱。
這個功能要求設備必須有紅外線發(fā)射器才可以 可以通過

hasIrEmitter() //獲取設備是否附帶紅外發(fā)射器
<uses-feature> "android.hardware.consumerir"</uses-feature>
ConsumerIdManager consumerManager = (ConsumerIdManager)Context.getSystemService(Context.CONSUMER_IR_SERVICE)

來獲取參數(shù),然后通過

getCarrierFrequencies() //查詢設備支持的紅外線頻率
transmit()//發(fā)射信號

多媒體

我沒怎么開發(fā)過多媒體應用吼句,所以這里感覺寫的挺牛逼的彰触,但是沒怎么實踐過

動畫和圖形

場景和轉場動畫

在這里說一下轉場動畫這個東西,當我們需要轉場的時候步驟一般是這樣的:

1命辖、制定包含您要更改的UI組件的ViewGroup
2况毅、指定表示變更的最終結果的布局(下一個場景)
3、指定應添加布局變更動畫的轉場類型
4尔艇、轉場

您可以使用 Scene對象完成第 1 步和第 2 步尔许。Scene` 包含描述執(zhí)行轉場所必需的布局屬性的元數(shù)據(jù),其中包括場景的父視圖和場景布局终娃。您可以使用類構造函數(shù)或靜態(tài)方法 getSceneForLayout()創(chuàng)建 Scene味廊。

然后,您必須使用 TransitionManager 完成第 3 步和第 4 步棠耕。其中一個方法是將您的 Scene 傳遞到靜態(tài)方法 go()余佛。這樣可在當前布局中找到場景的父視圖,并在子視圖上執(zhí)行轉場窍荧,以實現(xiàn) Scene 定義的布局辉巡。

或者,您根本不需要創(chuàng)建 Scene`對象蕊退,而是改為調(diào)用 beginDelayedTransition()郊楣,指定一個包含您要更改的視圖的 ViewGroup。然后瓤荔,添加净蚤、移除或重新配置目標視圖。在系統(tǒng)根據(jù)需要進行更改后输硝,轉場開始以動畫方式呈現(xiàn)所有受影響的視圖今瀑。

要進行其他控制,您可以使用項目 res/transition/ 目錄中的 XML 文件定義應在預定義的場景間發(fā)生的轉場集点把。在 <transitionManager> 元素內(nèi)部橘荠,指定一個或多個 <transition> 標記,每個標記均指定一個場景(引用布局文件)以及進入和/或退出該場景時將應用的轉場愉粤。然后砾医,使用 inflateTransitionManager() 擴展此轉場集。使用返回的 TransitionManager 通過 transitionTo() 執(zhí)行每個轉場衣厘,傳遞一個由 <transition> 標記表示的 Scene如蚜。您還可以使用 TransitionManager API 以編程方式定義轉場集压恒。

指定轉場時,您可以使用 Transition 的子類(如 FadeChangeBounds`)定義的多個預定義類型错邦。如果您不指定轉場類型探赫,系統(tǒng)會默認使用 AutoTransition,其根據(jù)需要自動消失撬呢、移動和重新調(diào)整視圖伦吠。此外窗轩,您也可以通過擴展其中的任何一個類來創(chuàng)建自定義轉場琳猫,以執(zhí)行您需要的動畫岖瑰。自定義轉場可以跟蹤您想要跟蹤的任何屬性變更布朦,并基于這些變更創(chuàng)建您需要的任何動畫。例如撩银,您可以提供 Transition的子類淳地,用于偵聽對視圖的“旋轉”屬性進行的變更著拭,然后以動畫方式呈現(xiàn)所有變更荷愕。

如需了解詳細信息衡怀,請參閱 TransitionManager 文檔。

用戶界面模塊

沉浸式全屏

要為您的應用提供填充整個屏幕的布局安疗,適用于 setSystemUiVisibility() 的新標記 SYSTEM_UI_FLAG_IMMERSIVE(與 SYSTEM_UI_FLAG_HIDE_NAVIGATION 結合使用時)將啟用新的沉浸式全屏模式抛杨。在啟用沉浸式全屏模式后,您的 Activity 將繼續(xù)接收所有觸摸事件荐类。用戶可以沿著系統(tǒng)狀態(tài)欄正常出現(xiàn)的區(qū)域向內(nèi)滑動來顯示系統(tǒng)狀態(tài)欄怖现。這將清除 SYSTEM_UI_FLAG_HIDE_NAVIGATION 標記(如果應用了 SYSTEM_UI_FLAG_FULLSCREEN標記,也會清除該標記)掉冶,因此系統(tǒng)狀態(tài)欄保持可見狀態(tài)真竖。但是,如果您想要系統(tǒng)狀態(tài)欄在片刻后再次隱藏厌小,可以改用 SYSTEM_UI_FLAG_IMMERSIVE_STICKY 標記。

透明系統(tǒng)狀態(tài)欄

現(xiàn)在战秋,您可以使用新主題背景 Theme.Holo.NoActionBar.TranslucentDecorTheme.Holo.Light.NoActionBar.TranslucentDecor 將系統(tǒng)狀態(tài)欄設置為部分透明璧亚。通過啟用透明系統(tǒng)狀態(tài)欄,您的布局將填充系統(tǒng)狀態(tài)欄后面的區(qū)域脂信,因此癣蟋,您也必須為不應被系統(tǒng)狀態(tài)欄覆蓋的布局部分啟用 fitsSystemWindows

如果您要創(chuàng)建自定義主題背景狰闪,則將其中某個主題背景設置為父主題背景疯搅,或在您的主題背景中添加 windowTranslucentNavigationwindowTranslucentStatus 樣式屬性

增強的通知偵聽器

Android 4.3 添加了 NotificationListenerService API,從而允許應用在系統(tǒng)發(fā)布新通知后接收有關新通知的信息埋泵。在 Android 4.4 中幔欧,通知偵聽器可以檢索通知的附加元數(shù)據(jù)罪治,并填寫有關通知操作的詳細信息:

新增的 Notification.extras字段包含一個 Bundle,以向您的通知生成器提供 EXTRA_TITLEEXTRA_PICTURE等附加元數(shù)據(jù)礁蔗。新增的 Notification.Action 類定義附加到通知的操作的特性觉义,您可以從新的 actions 字段中檢索這些特性。

無障礙功能
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浴井,一起剝皮案震驚了整個濱河市晒骇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌磺浙,老刑警劉巖洪囤,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撕氧,居然都是意外死亡箍鼓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門呵曹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來款咖,“玉大人,你說我怎么就攤上這事奄喂☆硌辏” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵跨新,是天一觀的道長富腊。 經(jīng)常有香客問我,道長域帐,這世上最難降的妖魔是什么赘被? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮肖揣,結果婚禮上民假,老公的妹妹穿的比我還像新娘。我一直安慰自己龙优,他們只是感情好羊异,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彤断,像睡著了一般野舶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宰衙,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天平道,我揣著相機與錄音,去河邊找鬼供炼。 笑死一屋,一個胖子當著我的面吹牛窘疮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陆淀,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼考余,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轧苫?” 一聲冷哼從身側響起楚堤,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎含懊,沒想到半個月后身冬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡岔乔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年酥筝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雏门。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘿歌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茁影,到底是詐尸還是另有隱情宙帝,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布募闲,位于F島的核電站步脓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏浩螺。R本人自食惡果不足惜靴患,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望要出。 院中可真熱鬧鸳君,春花似錦、人聲如沸厨幻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽况脆。三九已至,卻和暖如春批糟,著一層夾襖步出監(jiān)牢的瞬間格了,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工徽鼎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盛末,地道東北人弹惦。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像悄但,于是被迫代替她去往敵國和親棠隐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言的前言 唐巧前輩在微信公眾號「iOSDevTips」以及其博客上推送了我的文章后檐嚣,我的 Github 各項指標...
    VincentHK閱讀 5,341評論 3 44
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫助泽、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,029評論 4 62
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,089評論 1 32
  • 《移動端設計的思維模式》 原文地址:Thinking Like An App Designer http://ww...
    幺九閱讀 609評論 0 1
  • 離開了你,我更離開的是快樂 真的鞍帝,那時你不開心 你說诫睬,孤寂 你說傷心的過去是真的 那時你都不理我 我站在河邊 雙手...
    隔著玻璃親嘴閱讀 185評論 0 0