Android 6.0(Marshmallow API level 23) 變更

1)Runtime Permission

    在這個版本中,用戶可以直接在運行時對應用權限進行管理。

    在您的app中,需要在運行時對權限進行請求。

    使用checkSelfPermission方法檢查您的app是否有一個權限。

    使用requestPermission方法來請求一個權限。


2)Doze and App Standby

    Doze(假死):當設備未插電,處於靜止狀態且鎖屏,一段時間後設備會進入Doze狀態,

    它試圖保持系統處於睡眠狀態。在Doze狀態中,設備會週期性的短暫恢復正常狀態,以執行

    掛起操作。

    App Standby(掛起):掛起允許系統決定,在用戶不主動使用app時,app是空閒的。當用戶

    在一段時間後不碰app後系統會確定這個app空閒了。如果設備沒插電,系統會停止這個app的

    網絡訪問並掛起異步任務。(注意以下情況不會進入idle狀態:用戶主動啓動app,app在前臺運行,

    app發了通知到鎖屏界面或者通知欄)

    

3)Apache HTTP Client Removal

    刪除了Apache HTTP client支持。使用HttpURLConnection替代。

    如果想繼續使用Apache HTTP APIs,你需要在build.gradle文件中加入以下代碼:

android {
    useLibrary 'org.apache.http.legacy'
}

4)BoringSSL

    BoringSSL是谷歌基於OpenSSL給Android定製的版本。

    如果您使用了NDK,請不要鏈接與NDK API衝突的加密庫,例如libcrypto.so 和libssl.so,這回導致意外

    的崩潰,並將你自己暴露在安全攻擊中。


5)Access to Hardware Identifier

    WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress()將返回固定值02:00:00:00:00:00


6)Notification

    使用Notification.Builder來代替Notification.setLatestEventInfo方法,後者已被刪除。


7)AudioManager Changes

    通過AudioManager靜音,調節音量的功能已刪除。    

        setStreamSolo() -> requestAudioFocus() 
        setStreamMute() -> adjustStreamVolume()


8)Text Selection

    用戶選擇文本內容是,你可以將複製,粘貼等動作選項加入到懸浮菜單中。


9)Browser Bookmark 

    關閉了全局書籤,app需要將書籤數據存儲在自己的數據文件夾中。


10)Keystore Changes

   刪除了DSP支持


11)Wi-Fi and Networking Changes

    WifiConfiguration對象只有創建者有權限修改。


12)Camera Service Changes

    獲取攝像頭服務從原來的先到先得改爲現在的高優先級先得的方式。

    (1)用戶可見或者前臺的活動一般會有較高的優先級

    (2)高優先級的app可以強佔低優先級的app正在使用的攝像頭服務,此時,onError 或 onDisconnected將被調用

    (3)可同時打開不同的攝像頭硬件,但是會對象能有很嚴重的影響。

    (4)當用戶賬戶切換後,之前的訪問會被終止


13)Runtime

    對ART Runtime進行了優化,改了些bug(... ...)

14)APK Validation

    清單文件中定義的文件在包裏沒有時會被認爲安裝包損壞,而且刪除內容後必須重新簽名


15)USB Connection

    現在將設備通過 USB 連接到電腦,可以選擇默認的「僅充電」方式,也可以在其他數據傳輸方式中進行選擇。


*自己翻譯  請大神們多多指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章