안드로이드 API 레벨 26 지원

RAD 스튜디오 10.3 리오는 안드로이드 API 레벨 26을 공식 지원합니다.

구글은 보안과 성능에 최적화된 최신 API 기반으로 앱을 만들고, 사용자가 혜택을 누릴 수 있도록, 플레이 스토어에 등록 시 안드로이드 레벨 26 이상을 요구하도록 정책을 변경했습니다.(신규앱 등록 2018년 8월 부터, 기존앱 업데이트 2018년 11월 부터)

 

RAD 스튜디오 10.3 리오는 최신 SDK와 NDK를 지원하고, 매니페스트에 적절한 API레벨을 설정할 수 있도록 업데이트 되었습니다.

또한 최신 API에서 변경된 권한 모델등을 제공하도록 업데이트 되었습니다.

 

새로운 안드로이드 런타임 권한 모델 지원

안드로이드 API의 최신버전은 런타임 시 권한을 요청하는 매커니즘으로 변경되었습니다.

 

기존의 권한 모델은 설치 시 전체 권한을 승인하는 방식이었습니다. 새로운 권한 모델은 기능 사용 시 개별 권한을 묻는 방식으로, 사용자는 기능 별 허용 및 거부가 가능해졌습니다.

 

기존 권한 요청 방식

old_perminssion.png

새로운 권한 요청 방식

new_permissions2.png

 

위 변경에 따라 10.3 리오에서는 사용 권한을 요청하는 메소드가 추가되었고, 그 결과를 콜백 메소드로 받아 기능을 수행할 수 있도록 업데이트 되었습니다.

 

다음 델파이 코드는 위치를 권한을 요청하는 델파이 Location 샘플코드(Object Pascal/Mobile Snippets/Location)의 일부입니다.

procedure TLocationForm.swLocationSensorActiveSwitch(Sender: TObject);
begin
{$IFDEF ANDROID}
  if swLocationSensorActive.IsChecked then
    PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.ACCESS_FINE_LOCATION)],
      procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
      begin
        if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
          { activate or deactivate the location sensor }
          LocationSensor1.Active := True
        else
        begin
          swLocationSensorActive.IsChecked := False;
          TDialogService.ShowMessage('Location permission not granted');
        end;
      end)
  else
{$ENDIF}
    LocationSensor1.Active := False;
end;

다음 샘플 프로젝트에서 새로운 안드로이드 권한 모델의 실제 사용사례를 확인할 수 있습니다. 여러분들의 안드로이드 코드를 업데이트 하기 위해 참고하실 수 있습니다.

  • CPP/Mobile Snippets/AccessCameraApp
  • CPP/Mobile Snippets/AudioRecPlay
  • CPP/Mobile Snippets/CameraComponent
  • CPP/Mobile Snippets/CameraRoll
  • CPP/Mobile Snippets/Location
  • CPP/Mobile Snippets/PhoneDialer
  • CPP/Mobile Snippets/ShareSheet
  • CPP/Multi-Device Samples/Device Sensors and Services/Address Book/BirthdayReminder
  • CPP/Multi-Device Samples/Device Sensors and Services/Address Book/Contacts
  • CPP/Multi-Device Samples/Device Sensors and Services/Bluetooth/BLEScanner
  • CPP/Multi-Device Samples/Device Sensors and Services/FlashLight
  • CPP/Multi-Device Samples/Device Sensors and Services/Map Type Selector
  • CPP/Multi-Device Samples/Device Sensors and Services/SensorInfo
  • CPP/Multi-Device Samples/Media/MusicPlayer
  • CPP/Multi-Device Samples/Media/PhotoEditorDemo
  • Object Pascal/Mobile Snippets/AccessCameraApp
  • Object Pascal/Mobile Snippets/AudioRecPlay
  • Object Pascal/Mobile Snippets/CameraComponent
  • Object Pascal/Mobile Snippets/CameraRoll
  • Object Pascal/Mobile Snippets/Location
  • Object Pascal/Mobile Snippets/PhoneDialer
  • Object Pascal/Mobile Snippets/ShareSheet
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/Address Book/BirthdayReminder
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/Address Book/Contacts
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/App Tethering/PhotoWall/Mobile
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/Bluetooth/BLEScanner
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/FlashLight
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/Map Type Selector
  • Object Pascal/Multi-Device Samples/Device Sensors and Services/SensorInfo
  • Object Pascal/Multi-Device Samples/Media/MusicPlayer
  • Object Pascal/Multi-Device Samples/Media/PhotoEditorDemo
  • Object Pascal/RTL/Tethering/PhotoWall/Mobile

 

관련글


 

 

 

 

10.3 리오의 업데이트 버전들

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 14415
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13054
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15564
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21090
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22320
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17972
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38259
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173770
633 [10.4 시드니][패치] RAD스튜디오 10.4 '두 번째 패치(Patch 2)'를 다운로드 받으세요! 관리자 2020.07.20 913
632 OAuth 2.0 연동 - 네이버 API 연동(네이버 아이디로 로그인) 험프리 2020.07.15 1172
631 RAD Studio의 생산성 툴링 : 탐색기 김원경 2020.07.09 352
630 RAD Studio의 생산성 툴링 : 북마크 김원경 2020.07.09 355
629 [2020년 상반기] 기술자료 TOP 10 - 개발자들이 가장 많이 클릭한 기술자료는? 관리자 2020.07.07 657
628 이 달의 기술자료 - 2020년 07월 험프리 2020.06.25 462
627 [발표자료] 20200623 코로나19, 데이터와 RAD로 방역하다! file 관리자 2020.06.24 698
626 [10.4 시드니 신기능 Deep Dive] 겟잇 패키지 매니저의 새로운 기능들 관리자 2020.06.22 559
625 북마크, 탐색기 - 무료 IDE 애드온 기능들 업데이트! (10.4용) 관리자 2020.06.16 404
624 [REST-무료제공툴] REST 디버거 - REST 서비스를 언제든 신속하게 분석할 수 있습니다. file 험프리 2020.06.15 1004
623 [발표자료] 20200609 What's NEW! RAD스튜디오 10.4 시드니 file 관리자 2020.06.10 478
622 [10.4 시드니 신기능 Deep Dive] 델파이 추가된 문법 및 변경 사항 김원경 2020.06.05 489
621 [10.4 시드니 신기능] iOS와 맥OS 지원 강화 관리자 2020.06.04 673
620 [10.4 시드니 신기능] 고해상도 DPI용 VCL 콘트롤(들) 관리자 2020.06.04 496
619 [10.4 시드니 신기능] 개발환경 강화 관리자 2020.06.04 442
618 [RAD Studio 10.4 패치1 ] C ++ 디버깅과 누락 파일 패치 – 패치를 설치하는 새로운 방법! file 김원경 2020.06.01 635
617 이 달의 기술자료 - 2020년 06월 file 험프리 2020.05.29 358
616 [10.4 시드니 신기능] 델파이 10.4 런타임 라이브러리 향상 file 김원경 2020.05.28 611
615 [10.4 시드니 신기능] Sarina Dupont이 정리한 주요 신기능 모아 보기 험프리 2020.05.28 4295