반응형
출처 - http://googledevkr.blogspot.kr/
2015년 9월 24일 목요일
안드로이드 TV에서 새 권한 요청하기
게시자: Anirudh Dewani , 디벨로퍼 어드보케
안드로이드 6.0은 사용자가 앱에서 요청한 권한 부여를 보다 세부적으로 제어하고, 더 빠르게 앱을 설치할 수 있는 새로운 런타임 권한 모델을 도입했습니다. 또한 사용자가 언제든지 설정에서 이 권한을 취소할 수 있습니다. M 미리 보기에서 실행되는 앱이 새 권한 모델을 지원하는 경우, 사용자가 앱을 설치하거나 업그레이드할 때 어떠한 권한도 부여할 필요가 없습니다. 개발자는 사용자로부터 런타임 부여를 요청하는 권한을 확인하고 앱이 아직 해당 권한이 없으면 요청해야 합니다.
안드로이드 6.0에서 사용자로부터 런타임 부여를 요청하는 모든 권한을 표시하려면 -
RECORD_AUDIO
일반적으로 앱은 최대한 적은 수의 권한을 요청해야 합니다. 음성 검색은 Android TV 콘텐츠 검색 경험에서 핵심적인 부분입니다. 내부SpeechRecognizer를 사용해서 음성 검색을 활성화하는 경우 앱이 매니페스트에서 RECORD_AUDIO 권한을 선언해야 합니다. RECORD_AUDIO는 Android 6.0에서 런타임 중에 명시적 사용자 권한 부여가 필요합니다. Android TV Leanback 지원 라이브러리를 사용하는 경우 SpeechRecognizer대신 SpeechRecognitionCallback을 사용함으로써 앱이 런타임 중에 RECORD_AUDIO를 요청할 필요가 없습니다.
SearchActivity.java
안드로이드 TV Leanback Sample 리포지토리에서 커밋합니다.
SpeechRecognitionCallback이 설정되면 내부 SpeechRecognizer를 사용하는 대신 Android Leanback 지원 라이브러리를 통해 액티비티에서 음성 검색 작업을 처리할 수 있습니다. 그러면 앱에서 RecognizerIntent를 사용하여 음성 인식을 지원할 수 있습니다.
API 레벨 23을 대상으로 하는 Android TV 앱이 있다면, 앱을 업데이트하여 SpeechRecognitionCallback을 사용하고 매니페스트에서 RECORD_AUDIO 권한을 제거하십시오.
안드로이드 6.0에서 사용자로부터 런타임 부여를 요청하는 모든 권한을 표시하려면 -
adb shell pm list permissions -g -d
RECORD_AUDIO
일반적으로 앱은 최대한 적은 수의 권한을 요청해야 합니다. 음성 검색은 Android TV 콘텐츠 검색 경험에서 핵심적인 부분입니다. 내부SpeechRecognizer를 사용해서 음성 검색을 활성화하는 경우 앱이 매니페스트에서 RECORD_AUDIO 권한을 선언해야 합니다. RECORD_AUDIO는 Android 6.0에서 런타임 중에 명시적 사용자 권한 부여가 필요합니다. Android TV Leanback 지원 라이브러리를 사용하는 경우 SpeechRecognizer대신 SpeechRecognitionCallback을 사용함으로써 앱이 런타임 중에 RECORD_AUDIO를 요청할 필요가 없습니다.
SearchActivity.java
안드로이드 TV Leanback Sample 리포지토리에서 커밋합니다.
mFragment = (SearchFragment) getFragmentManager() .findFragmentById(R.id.search_fragment); if (!USE_INTERNAL_SPEECH_RECOGNIZER) { mSpeechRecognitionCallback = new SpeechRecognitionCallback() { @Override public void recognizeSpeech() { if (DEBUG) Log.v(TAG, "recognizeSpeech"); // ACTION_RECOGNIZE_SPEECH startActivityForResult(mFragment.getRecognizerIntent(), REQUEST_SPEECH); } }; mFragment.setSpeechRecognitionCallback(mSpeechRecognitionCallback); }
API 레벨 23을 대상으로 하는 Android TV 앱이 있다면, 앱을 업데이트하여 SpeechRecognitionCallback을 사용하고 매니페스트에서 RECORD_AUDIO 권한을 제거하십시오.
반응형
'개발 > Google Developers korea 블로그' 카테고리의 다른 글
안드로이드 6.0 마시멜로가 새로운 넥서스 디바이스와 함께 곧 출시됩니다. (0) | 2015.09.30 |
---|---|
안드로이드 6.0 런타임 권한과 Google Play 서비스 8.1 (0) | 2015.09.26 |
Google Play 베타 테스팅 기능이 더욱 발전했습니다 (0) | 2015.09.26 |
여러분의 앱은 안드로이드 6.0 마시멜로에서 잘 동작하나요? (0) | 2015.09.19 |
안드로이드 오토 - 데스크톱 헤드 유닛 출시 (0) | 2015.09.16 |
댓글