NFC를 사용하는 기기에서 기기 소유자 패키지를 설정하려고합니다. 는 롤리팝 개요 here에서 언급 한 : 장치가 의 준비되지 않은 상태에있는 동안 배포하고 장치 소유자를 활성화하려면Android Lollipop에서 NFC를 사용하여 기기 소유자 활성화
, 당신은 장치에 프로그래밍 응용 프로그램에서 NFC 데이터 전송을 수행해야합니다. 이 데이터 전송은 관리되는 프로비저닝에 설명 된 프로비저닝 의도와 동일한 정보 인 을 전송합니다.
일단 이것이 설정되면 화면 고정 기능을 사용하여 기기를 키오스크 모드로 잠글 수 있습니다. 필자는 루트 장치에 data/system /에 device_owner.xml 파일을 배치하여 장치 소유자를 수동으로 설정하여이 키오스크 모드를 테스트 할 수있었습니다.
나는 방법이 해제 될 수 있도록하기 전에 NFC를 사용한 적이 있지만이 정보 here에 따라 다음 NdefMessage를 내놓았다 :
Properties properties = new Properties();
properties.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, "com.my.package");
properties.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID, "MyWiFiSSID");
properties.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PASSWORD, "WifiPassword");
properties.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM, "C9AD9E082457819B54CF76255A400375E4127112");
properties.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION, "https://dl.dropboxusercontent.com/u/xxx/app-release.apk");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(properties);
byte[] yourBytes = bos.toByteArray();
NdefRecord ndefRecord = NdefRecord.createMime(DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC, yourBytes);
NdefMessage msg = new NdefMessage(ndefRecord);
장치에이 전송 난 그냥 롤리팝 복원 한 미리보기로 표시 :
죄송합니다. 기기를 설정할 수 없습니다. IT 부서에 문의하십시오.
그것이 제공 요청을 받고 있다는 사실을 인식하고있는 것처럼 보이지만 설정 한 속성을 읽지 않는다고 생각합니다. Wi-Fi에 연결하려고 시도하지 않습니다.
여기에 체크섬에 관한 내 자신의 질문을 게시했습니다 : http://stackoverflow.com/questions/26509770/provisioning-in-android-lollipop – Randy