본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Android 6.0(MOS) SDK 에서 바뀐 것들!!

by 돼지왕 왕돼지 2017. 9. 18.
반응형

 [android] Android 6.0(MOS) SDK 에서 바뀐 것들!!


https://commonsware.com/blog/2015/08/17/random-musings-android-6p0-sdk.html

ACCESS_MOCK_LOCATION, ACCESS_SURFACE_FLINGER, Action, ACTION_BATTERY_CHANGED, ACTION_CAPTIVE_PORTAL_SIGN_IN, ACTION_CHARGING, ACTION_DEVICE_IDLE_MODE_CHANGE, ACTION_DISCHARGING, ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS, ACTION_INSTALL_PACKAGE, ACTION_MANAGE_OVERLAY_PERMISSION, ACTION_MANAGE_WRITE_SETTINGS, ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, activity, activityoptions, Analytics, androdi ware, android:breakStrategy, android:hyphenationFrequency, App, app assist stuff, app standby whitelist, app standvy, attribute, AUTHENTICATE_ACCOUNTS, Balanced, BatteryManager, bookmark, Brick, broadcast, browser provider, Call, CaptivePortal, CLEAR_APP_USER_DATA, Conference, Configuration, ConnectivityManager, contentprovider, createWebMessageChannel, default, deprecated, detectResourceMismatches, DEVICE_POWER, dievce idle, doze, FLAG_IMMUTABLE, FORCE_BACK, gateway, getSystemService, GET_TOP_ACTIVITY_INFO, Grant, HARDWARE_TEST, High-quality, Hook, html5, hyphenation, INJECT_EVENTS, INTERNAL_SYSTEM_WINDOW, isCharging, isDeviceIdleMode, isIgnoringBatteryOptimizations, isScreenRound, Launching, less-frequent, line-break, MANAGE_ACCOUNTS, MANAGE_APP_TOKENS, manifest, MessageEvent, MODE_MULTI_PROCESS, motorola aura, network access, None, normal permission, onprovideassistdata, PendingIntent, permission, permission grant, permission 제거, phone account, postWebMessage, powermanager, protection level, protectionlevel flag, READ_HISTORY_BOOKMARKS, READ_PROFILE, READ_SOCIAL_STREAM, READ_USER_DICTIONARY, real ipc api, requestusagetimereport, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, REQUEST_INSTALL_PACKAGE, Security, setting screen, setting.system.canwrite, settings, settings.system.candrawoverlays, SET_ACTIVITY_WATCHER, SET_ORIENTATION, SET_POINTER_SPEED, SharedPreference, signature_system permission, Simple, Standard, static receiver, strictmode, SUBSCRIBED_FEEDS_READ, SUBSCRIBED_FEEDS_WRITE, SYSTEM_ALERT_WINDOW, targetsdk, TelecomManager, TextView, toggle, type-safe, USE_CREDENTIALS, WebMessage, Webview, whitelist, WRITE_HISTORY_BOOKMARKS, WRITE_PROFILE, WRITE_SETTINGS, WRITE_SMS, WRITE_SOCIAL_STREAM, WRITE_USER_DICTIONARY, xml, [android] Android 6.0(MOS) SDK 에서 바뀐 것들!!, 권한, 다른 앱 위에 그릴 수 있는 권한, 등록, 하이픈


-

ACTION_INSTALL_PACKAGE 를 사용하면서 targetSdkVersion 이 22 이상이면 REQUEST_INSTALL_PACKAGE permission 이 반드시 있어야 한다.



-

PendingIntent 는 FLAG_IMMUTABLE 이라는 option 이 있다.

이것은 PendingIntent 를 invoke 할 때 변형되지 않게 하는 것으로 security 측면에서 좋다.



-

새로운 Setting screen 들을 Settings 의 action string 을 통해 접근할 수 있다.


ACTION_MANAGE_WRITE_SETTINGS 는 app 이 system setting 을 쓸 수 있는지를 보여준다.

app 이 WRITE_SETTINGS permission 을 요청하면 위의 ACTION 을 통해 띄워진 화면의 list 에서 해당 앱을 확인할 수 있다.

App 에서는 Settings.System.canWrite() 를 호출하여 setting 값을 쓸 수 있는 permission 이 grant 되었는지 확인할 수 있다.


ACTION_MANAGE_OVERLAY_PERMISSION 은 다른 앱 위에 그릴 수 있는 권한이 있는지를 보여주는 화면으로 이동할 수 있다.

SYSTEM_ALERT_WINDOW 가 이 화면의 listing 에 관여를 하며,

Settings.System.canDrawOverLays() 를 통해 해당 permission 이 grant 되었는지 확인할 수 있다.



-

다음 2개의 Settings action 은 app standby 와 whitelist 에 대한 설정을 보여준다.


ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS 는 white list 에 있는 app 을 toggle 할 수 있는 기능을 보여주고,

ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 는 white list 에 app 을 등록시키는 action 이다.


ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 를 사용하기 위해서는 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission 이 필요하다.

이 녀석은 normal permission 이다.



-

PowerManager 의 isDeviceIdleMode() 는 device 가 idle 이라 곧 Doze 모드에 빠질 것이라는 사실 여부를 return 한다.

ACTION_DEVICE_IDLE_MODE_CHANGE 는 app 의 상태가 바뀌었을 때 날아간다.

isIgnoringBatteryOptimizations() 는 user 가 app standby whitelist 에 등록했는지를 알려준다.



-

App Assist stuff 가 document 가 잘 되었으며 Activity 의 onProvideAssistData 메소드를 호출한다.



-

BatteryManager 는 ACTION_CHARGING 과 ACTION_DISCHARGING 을 제공한다.

ACTION_BATTERY_CHANGED 와는 달리 이 두 녀석은 manifest 에 static 으로 등록될 수 있는 것으로 보인다.

isCharging() method 가 charge 여부를 return 하기도 한다.



-

system 또는 signature|system permission protectionLevel level 은 deprecated 되었다.

그 대신 다른 protectionLevel flag 들이 나왔다.



-

Browser provider 관련된 녀석이 많이 제거되었다. ( deprecated )

Browser provider 는 bookmark 등을 접근할 수 있는 기능들이 있었다.



-

StrictMode 가 이제는 detectResourceMismatches() 를 지원한다.



-

TextView 가 XML attribute android:breakStrategy 와  android:hyphenationFrequency 를 통해서 line-break 와 하이픈 사용을 control 할 수 있다.

line-break 전략은 simple, high-quality, balanced 를 설정할 수 있는데, high-quality 는 hyphenation 와 조합하여 사용한다.

Hyphenation 전략은 none, less-frequent 그리고 standard 가 있다.

defauilt 는 high-quality & default 설정이다.



-

WebView 는 HTML5 의 MessageEvent interface 를 WebMessage 나 WebView 의 createWebMessageChannel(), postWebMessage() 등을 통해 제공한다.



-

ActivityOptions 의 requestUsageTimeReport 함수를 통해서 analytics 를 할 수 있다.

PendingIntent 를 등록하여 launching 후 얼마나 사용했냐 등을 분석할 수 있다.



-

ConnectivityManager 의 ACTION_CAPTIVE_PORTAL_SIGN_IN 과 같은 녀석들이 network access 가 필요할 때 저장된 어떤 정보들로 로그인을 자동 수행할 수 있게 한다.

CaptivePortal class 가 있다.



-

getSystemService() 이 type-safe 하게 변경됨



-

TelecomManager 가 call, conference, gateway, phone account 등을 hook 할 수 있는 기능을 제공한다.



-

MODE_MULTI_PROCESS 가 deprecated 되었다.

이 녀석은 여러개의 process 가 SharedPreference 에 읽고 쓰고를 동시에 할 수 있도록 하기 위함이었다.

보통 android:process 를 통해 한 app 이 process 를 여러개 돌릴 때 해당하는 현상이다.


SharedPreference 는 사실 share 해서 사용하는 것이 위험하다.

그래서 real IPC API ( broadcast, ContentProvider ) 등을 사용하는 것이 권장된다.



-

Configuration 에 isScreenRound 가 있다.

AndroidWare 용 혹은 Motorola Aura 으로 추정된다.



-

다음 permission 들이 제거되었다.


ACCESS_MOCK_LOCATION 

ACCESS_SURFACE_FLINGER 

AUTHENTICATE_ACCOUNTS 

BRICK 

CLEAR_APP_USER_DATA 

DEVICE_POWER 

FORCE_BACK 

GET_TOP_ACTIVITY_INFO 

HARDWARE_TEST 

INJECT_EVENTS 

INTERNAL_SYSTEM_WINDOW 

MANAGE_ACCOUNTS 

MANAGE_APP_TOKENS 

READ_HISTORY_BOOKMARKS 

READ_PROFILE 

READ_SOCIAL_STREAM 

READ_USER_DICTIONARY 

SET_ACTIVITY_WATCHER 

SET_ORIENTATION 

SET_POINTER_SPEED 

SUBSCRIBED_FEEDS_READ 

SUBSCRIBED_FEEDS_WRITE 

USE_CREDENTIALS 

WRITE_HISTORY_BOOKMARKS 

WRITE_PROFILE 

WRITE_SMS 

WRITE_SOCIAL_STREAM 

WRITE_USER_DICTIONARY




반응형

댓글