สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 6.0 Marshmallow (API 23)

บทความนี้เป็นหนึ่งในซีรีย์บันทึกการเปลี่ยนแปลงของฟีเจอร์และ API ในแอนดรอยด์แต่ละเวอร์ชัน สำหรับผู้ที่หลงเข้ามาอ่านคนใดต้องการดูของเวอร์ชันอื่นๆ สามารถกดดูได้จากลิ้งข้างล่างนี้ได้เลย

สารบัญ

Security

Fingerprint Authentication

รองรับการใช้งาน Fingerprint Scanner ผ่าน FingerprintManager API

Confirm Credential

สามารถเรียกหน้า Authentication โดยอิงจากรูปแบบที่ผู้ใช้ใช้งานในหน้า Screen Unlock และสามารถกำหนดระยะเวลาในการ Re-authentication

System

App Linking

ระบบ Intent แบบใหม่บนแอนดรอยด์ที่จะรู้ได้ทันทีว่า Web Domain นั้นเป็นของแอปไหน เพื่อที่เวลาเปิด URL ของ Domain นั้นๆแล้วเด้งไปเปิดแอปได้ทันที

Adoptable Storage Devices

สามารถเปลี่ยน SD Card ให้ทำงานเป็นเหมือน Internal Storage จึงสามารถติดตั้งแอปลงใน SD Card ได้โดยตรง ทำให้คำสั่งสำหรับ Internal Storage มีการอัปเดตใหม่ เพราะว่าสามารถมี Internal Storage ได้มากกว่า 1 ตัว รวมไปถึงกำหนดใน Android Manifest ได้ว่าจะให้ติดตั้งแอปลงใน SD Card เมื่อเป็น Internal Storage หรือไม่

Multimedia

4K Display Mode

รองรับการแสดงผลที่ความละเอียด 4K บนอุปกรณ์ที่รองรับ โดยที่ UI จะแสดงอยู่บนความละเอียดเดิม (มักจะกำหนดไว้ที่ 1080p) แต่ว่า SurfaceView จะถูกแสดงผลอยู่บนความละเอียดสูงสุด (แสดงผลเป็น 4K)

Support for MIDI

รองรับ MIDI Protocol ผ่าน MIDI API เพื่อรับส่งข้อมูลแบบ MIDI ผ่านทาง USB หรือ Bluetooth LE

Create Digital Audio Capture and Playback Objects

รองรับการบันทึกเสียงที่สามารถกำหนด Source และ Sink ของเสียงในเครื่องได้

APIs to Associate Audio and Input Devices

สามารถค้นหาอุปกรณ์ต่างๆที่เชื่อมต่ออยู่และมีไมโครโฟนในตัวเพื่อสามาถใช้แทนไมโครโฟนในตัวเครื่องได้

List of All Audio Devices

สามารถดึงข้อมูลของเครื่องเสียงที่เชื่อมต่ออยู่ ผ่าน AudioManager API

Flashlight API

สามารถสั่ง Camera Flash ในเครื่องให้เปิดค้างไว้เป็น Torch Mode ได้

Reprocessing Camera2 API

Camera2 API รองรับ YUV และ Private Opaque เพื่อทำ Image Reprocessing ใน Camera Capture Session ได้

Updated ImageWriter Objects and Image Reader Class

เพิ่ม ImageWriter API เพื่อใช้ในการสร้างข้อมูลภาพเพื่อเพิ่มลงไปใน Surface ที่จะถูก Component อื่นๆไปเรียกใช้งานอีกที (เช่น Surface ที่อยู่ใน SurfaceView ที่ถูกเรียกใช้งานจาก Camera2 API)

User Input

Voice Interactions

เพิ่ม Voice Interaction API สำหรับเรียกใช้งาน Voice Actions เพื่อให้แอปรองรับการสั่งงานแอปด้วยเสียงได้

Assist API

สามารถส่งข้อมูลจากแอปไปให้ Google Assistant ได้ และสามารถจำกัดข้อมูลในแอปที่ไม่ต้องการให้ Google Assistant เข้าถึงได้

Bluetooth Stylus Support

สามารถรองรับการใช้งาน Bluetooth Stylus กับแอปได้ผ่านคลาส View, GestureDetector และ MotionEvent

User Interface

Themeable ColorStateLists

สามารถใช้ ColorStateList กับ Theme Attribute ได้แล้ว และ getColorStateList() กับ getColor() ในคลาส Resources ถูกประกาศ Deprecated เพื่อให้เปลี่ยนไปใช้จากคลาส Context แทน

Wireless & Connectivity

Hotspot 2.0

รองรับการใช้งาน Hotspot 2.0 โดยสามารถเรียกใช้งานได้ผ่านคลาส WifiEnterpriseConfig

Improved Bluetooth Low Energy Scanning

เพิ่มคำสั่ง setCallbackType() เพื่อให้ระบบแจ้งเตือนเมื่อเจออุปกรณ์ที่เป็น Bluetooth LE

สรุป

ก็ต้องยอมรับว่าในแต่ละเวอร์ชันก็มีอะไรเพิ่มเข้ามาเยอะแยะมากมาย เพื่อช่วยให้ผู้ใช้สะดวกสบายและสามารถทำอะไรได้มากขึ้น แต่ในอีกมุมหนึ่ง ก็ส่งผลให้นักพัฒนาต้องหมั่นปรับตัวตามอยู่ตลอดเวลาเพื่อให้แอปของผู้ที่หลงเข้ามาอ่านนั้นยังคงใช้งานได้ปกติสุข