2017-05-15 23 views
1

안드로이드 앱에 시스템 Priviliges를 제공하는 방법 :내 연구에 내가 합병증 다음 한 프로그램/업데이트</strong>에게 앱을 설치 내가 <strong>에 가지고 <strong>구글 글라스</strong> 프로젝트, 일하고

  1. 프로그래밍 방식으로 클릭을 수행하는 시스템 대화 상자 가져 오기
  2. 프로그래밍 방식으로 설치하려면 의도적으로 시스템 대화 상자 사용자 권한으로 표시되지만 시스템 대화 상자의 동작을 프로그래밍 방식으로 자극 할 수 없습니다. 이 솔루션은 EMM 솔루션 (WSO2 IOT)
    내가 WSO2-IOT을 사용하지만, 사용에는 가능 link

  3. 없습니다 있기 때문에 너무도 에이전트 APK를 설치, 구글 글라스에 사용할 수 device policy manager 없습니다 내가 EMM (WSO2 IOT)가 제공하는 모든 서비스를 이용하실 수 없기 때문에
  4. 내가 루트없이

  5. 시스템 권한 얻기 (내 응용 프로그램을 설치 또는 업데이트), 도움을 못해 n은 다음과 같은 권한을 사용하려면 :
    • < 사용 - 권한 안드로이드 : 이름 = "android.permission.INSTALL_PACKAGES은"/>
    • <는 사용-권한 안드로이드 : 이름 = "android.permission.DELETE_PACKAGES"/>
    을 내 앱은 앱을 자동으로 설치/삭제/업데이트하기 위해 시스템 권한이 필요합니다.

내 지식과 연구에 따르면 지금까지 유일한 현재의 솔루션은 세 번째 솔루션, 즉 시스템 권한을 얻을 수 있습니다. 그것을 얻기 위하여, 나는 또한
Sigined the APK with the system certificate. 아직도 내가 오류 얻을 시도 : java.lang.SecurityException: Neither user 10056 nor current process has android.permission.INSTALL_PACKAGES.

이 또한 내가 추가 시도를

here가 지금까지 달성 아무 성공도 없다 기술로 매니페스트에 android:sharedUserId="android.uid.system. 백그라운드에서 앱을 자동으로 설치하는 방법을 알고 싶습니다.을 뿌리지 않고 을 밖으로 보내주십시오.

어떤 도움이 될만한 도움이 될까요?

감사합니다.

답변

1

기기에 앱을 설치/업데이트해야하는 경우 관련 세부 정보가 포함 된 Package Manager을 실행해야합니다. 그러나 패키지 관리자를 실행하려면 위의 권한 (android.permission.INSTALL_PACKAGES & android.permission.DELETE_PACKAGES)이 있어야합니다. 따라서 장치 관리자 권한이 필요합니다. 앞에서 말했듯이 관리자 권한을 얻으라는 메시지가 표시되는 시스템 대화 상자의 작업을 자동화하는 것은 불가능합니다.

Device Owner 개념은 장치 정책 관리자가있는 경우에도 사용할 수 있습니다. 그러므로 대안을 찾아야합니다.

구글 글래스에 번거 로움없이 IoT 서버에 성공적으로 등록 할 수있는 에이전트의 경량 버전을 제공 할 수 있습니다. 그러나 장치 정책 관리자가 필요한 작업은 수행 할 수 없습니다. 여기에서 소스를 찾으십시오. https://github.com/milanperera/android-glass-agent

+0

고맙습니다. DevicePolicyManager가 없으며 유리에 PlayServices도 없습니다. 아직 DeviceOwner 개념을 사용하지 않았지만 그 부분을 살펴 보겠습니다. – asadnwfp