DialogPreference
사용자가 캘린더에서 선택할 수 있도록 확장되는 클래스가 있습니다. Android M부터 사용자는 앱이 캘린더에 액세스 할 수 있도록 런타임에 권한을 부여해야합니다. 에서 Activity
나 Fragment
에게 전화를 :이 일반적으로 비교적 간단 것 ActivityCompat.requestPermissions(Activity [...])
또는 FragmentCompat.requestPermissions(Fragment [...])
트릭을 할 것입니다.
그러나,에 DialogPreference
, 거기에 접근하는 더 확실한 방법은 없습니다 Activity
또는 Fragment
그은을 사용합니다 DialogPreference
. getContext()
액티비티를 참조한다고 보장 할 수 없으므로으로 캐스팅하는 Activity
것은 신뢰할 수 없습니다. instanceOf
추악함을 사용 하고를 getContext()
참조하지 않는 문제를 해결 하지 못합니다 Activity
.
getDialog().getOwnerActivity()
유망 해 보이지만 필요할 때 null을 반환합니다 (예 : DialogPreference
의 onBindView()
메서드 도중 ).
에 필요한 권한을 요청하는 가장 좋은 방법은 무엇입니까 Preference
? 권한 요청이에서 완전히 제거 Preference
되고 PreferenceFragment
?
권한 요청이 Preference에서 완전히 제거되고 PreferenceFragment에 배치되어야합니까?
IMHO, 네. 또는 더 정확하게는 기본 설정을 표시하기 전에 권한을 요청하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다