-
안드로이드 오류 - Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLEbe specified when creating a PendingIntent.프로그래밍/ 안드로이드어플만들기 2023. 1. 23. 22:18728x90반응형
안드로이드 어플에 커스텀탭 테스트하려는데 아래와 같은 에러 발생
오류 메세지가 자세하게 나와있어서 그냥 따라가면 간다.
안드로이드 버전 31부터 pendingintent에서 FLAG_IMMUTABLE 또는 FLAG_MUTABLE만 가능한데
가능하면 FLAG_IMMUTABLE을 쓰라고 한다.
java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.IllegalArgumentException: com.butlerdiary.butlerdiary: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
커스텀탭에서 pendingIntent의 flag를 FLAG_IMMUTABLE로 수정하니 정상적으로 빌드가 된다.
//커스텀탭 public void openCustomTabs() { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("*/*"); // 이전 버전 //PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 1, intent, 0); // 수정 버전 PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 1, intent, PendingIntent.FLAG_IMMUTABLE);
참고: https://ddolcat.tistory.com/2393
728x90반응형'프로그래밍 > 안드로이드어플만들기' 카테고리의 다른 글
맥북에서 앱 개발하기 - 맥북과 안드로이드 장치 페어링 하기 (0) 2023.08.06 맥북에서 앱 개발하기 - 안드로이드 스튜디오 설치 및 앱 빌드하기 (0) 2023.08.06 안드로이드 커스텀탭 장단점 (0) 2023.01.23 안드로이드 스튜디오 - .gitignore 설정하기 (0) 2023.01.09 안드로이드 앱 빌드 오류 : No matching client found for package name (0) 2022.12.31