[Android M] API Overview
Android 2015. 6. 11. 20:37 |Fingerprint Authentication
fingerprint sensor가 있는 device라면, 지문 인식기능을 사용 할 수 있다.
android.hardware.fingerprint.FingerprintManager 클래스의 FingerprintManager.authenticate() 함수를 사용하면 된다.
지문 인증 flow에 대한 사용자 인터페이스를 구현이 필요하고, Android 표준 지문 Icon을 사용 해야한다.
여러 응용프로그램을 개발 시, 개별적인 지문 인증이 필요하다.
지문인증을 사용 하기 위해선, 다음 permission을 추가해야 함.
<uses-permission
android:name="android.permission.USE_FINGERPRINT" />
Settings > Security > Fingerprint 를 통해 지문 등록이 가능하다.
Notifications
NotificationListenerService.INTERRUPTION_FILTER_ALARMS 추가
Improved Bluetooth Low Energy Scanning
android.bluetooth.le.ScanSettings.Builder.setCallbackType()에
저전력을 사용하여 Bluetooth를 찾을 수 있는 로직이 추가됨.
Bluetooth Stylus 지원
View.onStylusButtonPressListener, GestureDetector.OnStylusButtonPressListener를 통해서
touch와 press입력에 대해서 받을수 있다.
MotionEvent로 전달
MotionEvent.getTooltype()에 대해서
- TOOL_TYPE_STYLUS 리턴
MotionEvent.getButtonState()에 대해서
- MotionEvent.STYLUS_BUTTON_PRIMARY
- MotionEvent.STYLUS_BUTTON_SECONDARY
- STYLUS_BUTTON_PRIMARY|STYLUS_BUTTON_SECONDARY
4K Display Mode
UI화면을 device에 맞게 4K로 upscale 가능
4K로 upscale된 후, Display.Mode.getPhysicalWidth() 의 리턴값이 getSize()로 리턴된 값이랑 다를수 있음.
getPhysicalWidth() 리턴 값 physical
getSize() 리턴값 logical
WindowManager.LayoutParams.preferredDisplayModeId 설정을 이용하여 물리 해상도를 바꿀수 있다.
SurfaceView의 경우 원래 해상도로 보여질수 있음
Audio Features
MIDI protocol 지원가능
android.media.midi를 통해 입출력 이벤트를 처리가능
android.media.AudioRecord.Builder와 android.media.AudioTrack.Builder 클래스추가
디지털 오디오 캡쳐나 재생장치를 생성하거나, 오디오 소스, 시스템 기본값을 재정의 할수 있음.
오디오나 input device에 대해서 hook기능 생김.
android.app.Activity.onSearchRequested()를 통해 관련 장치를 검색할수 있고,
InputDevice 객체로 리턴되어 돌아옴.
InputDevice.hasMic()와 같이 입력장치 여부를 확인할 수 있음.
android.media.AudioDevicesManager 클래스 추가
디바이스의 지원 audio 장치에 대한 검색 및 연결을 설정할수 있음.
android.media.OnAudioDeviceConnectionListener를 통해 audio device의 connected/unconnected에 대해서 알수 있음.
Video Features
android.media.MediaSync 클래스 추가,
오디오와 비디오 스트림 싱크 맞추는데 사용,
오디오 버퍼는 non-blocking방식으로 입력되고, 콜백을 통해 반환됨. 또한, 동적인 재생 속도를 지원
MediaDrm.EVENT_SESSION_RECLAIMED 이벤트 추가,
앱에 의해 세션이 열리고, 리소스 매니져에 의
MediaCodec.CodecException.ERROR_RECLAIMED 에러코드 추가
코덱에의해 사용되어지는 media resource가 resource manager로 부터 해제된것을 의미.
MediaCodecInfo.CodecCapabilities.getMaxSupportedInstances() 추가
최대 동시 지원되는 코덱수 확인 가능.
MediaPlayer.setPlaybackParams() 함수추가,
fast/slow 속도 조정이 가능. 오디오&비디오 자동으로 설정
Camera Features
Flashlight API
CameraManager.setTorchMode() 메소드로 카메라 디바이스를 열지 않고 플레시 유닛의 손전등 스위치를 끄거나 켤 수 있음
다른 앱도 setTorchMode() 에게 손전등 모드를 끄라고 할 수 있음.
손전등 모드 켜진 마지막 앱이 닫히면 손전등 모드도 꺼짐
CameraManager.registerTorchCallback() callback 등록하면,
CameraManager.TorchCallback.onTorchModeChanged()를 통해 light 상태를 알수 있음.
Repocessing API
Camera2 API를 통해, YUV 과 private opaque format image reprocessing기능 지원
CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES를 통해 reprocessing 가능 한지 확인 가능
CameraDevice.createReprocessableCaptureSession()를 통해 captureSession을 만들고, buffer reprocessing input을 요청할수 있음
camera reprocessing에 input buffer folow를 연결할 때, ImageWriter클래스를 사용. 빈 buffer를 만들려면,
1. ImageWriter.dequeueInputImage() 호출
2. input buffer에 data 채움
3. ImageWriter.queueInputImage()를 통해, 카메라에 buffer 전달
android.graphics.ImageFormat.PRIVATE와 Image object와 함께 사용한다면, 이미지 데이터에 직접 접근은 불가능
대신, ImageFormat.PRIVATE를 버퍼에 복사할 필요 없이, ImageWriter.queueInputImage()를 통해 ImageWriter에 바로 전달 가능.
'Android' 카테고리의 다른 글
[WakeLock] (0) | 2018.03.27 |
---|---|
[Android M] Permissions (0) | 2015.06.12 |
[Android M] 4K Display Mode (0) | 2015.06.11 |
[Android M] Camera Features (0) | 2015.06.11 |
Android URL Intent, Intent Filter, Scheme (0) | 2015.04.22 |