2012-06-15 2 views
3

우리는 사용자 - 연락처 - 데이터를 편리하게 읽을 수있는 AutoCompleteTextView를 보유하고 있습니다. 그러나 일부 사용자는 설치시 응용 프로그램이 시행하는 "READ_CONTACT"권한에 대해 불평합니다. 사용자가이 권한을 부여하고이 기능을 사용하도록 선택하거나 거부하고 기능을 느슨하게 할 수있는 방법이 있습니까? 런타임에 불가능하다면 다른 방법이 있을까요? 두 개의 Apps를 구축하십시오. 하나는 허가가 있고 다른 하나는 옵션이 아닙니다!사용자가 android에서 권한을 부여하도록 허용

답변

3

사용자가이 권한을 부여하고이 기능을 사용하도록 선택하거나 거부하고 기능을 느슨하게 할 수있는 방법이 있습니까?

불행히도, 아니오.

런타임에 가능하지 않은 경우 다른 방법이 있습니까? 두 개의 Apps를 구축하십시오. 하나는 허가가 있고 다른 하나는 옵션이 아닙니다!

권한없이 주 앱을 만든 다음 권한을 보유하고 메인 앱과 안전하게 상호 작용하는 플러그인을 만들 수 있습니다. 이것은 약간의 고급 기술입니다. 나는 in one of my books과 호스트와 플러그인을 보여주는 here is the directory with sample projects을 다룬다. 필자의 경우 허가 (READ_CONTACTS)는 동일하지만 ContactsContract 대신 CallLog을 사용하고 있습니다.

+0

@ user370305 : 플러그인에서 사전 정의 된 특정 권한 (예 :'READ_CONTACTS')을 요청합니다. Vista Syndrome ("CPU가 명령을 실행하고 싶습니다 : 거부 할 수 있습니까?")로 이어지는 실행 시간에 권한을 요청할 수 없습니다. 그러나 기본 응용 프로그램은 OP 사용자의 우려 사항을 해결하는 플러그인 요청 권한을 요청할 필요가 없습니다. – CommonsWare

+0

예. 당신의 프로젝트에서 얻었습니다. 샘플 프로젝트에 +1 해 주셔서 감사합니다. – user370305

0

나는 이것에 대해 너무 확신하지 않지만이 권한이 필요한 별도의 앱을 만들 수 있습니다. 이 추가 앱은 콘텐츠 제공 업체를 제공합니다. 이제 기본 앱에서 확장 프로그램이 설치되어 있는지 확인하고 콘텐츠 제공 업체의 데이터를 가져옵니다.

+0

내가 말했듯이 : 사용자가 다운로드해야하는 두 개의 앱을 설치하는 것은 옵션이 아닙니다 ... –

+0

글쎄, 대답은 아니오입니다. 그 외에도, 나의 제안은 회의적인 사용자가 별도의 응용 프로그램을 다운로드하지 않아도됩니다. 별도의 서버에 확장 프로그램을 호스팅하고 원하는 경우 자동으로 설치하도록 사용자에게 요청할 수도 있습니다. 모든 사용자는 설치 화면에서 ok를 누릅니다. –

+0

??? 매우 약 해졌다! 따옴표 : "나의 제안은 회의 사용자가 별도의 응용 프로그램을 다운로드 할 필요가 없습니다"v ""확장 응용 프로그램을 별도의 서버에 호스팅 할 수도 있습니다. " 다운로드하지 않을 경우 사용자가이 앱을 가져와야하는 방식 ?? –

관련 문제