| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright 2015 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <sample> |
| <name>NfcProvisioning</name> |
| <group>Admin</group> |
| <package>com.example.android.nfcprovisioning</package> |
| |
| <minSdk>21</minSdk> |
| |
| <strings> |
| <intro> |
| <![CDATA[ |
| This sample demonstrates how to provision other devices with a specified device owner using NFC. |
| Install the DeviceOwner sample to an unprovisioned device. Fill in the values below, and bump the |
| two devices, and tap this side to initiate the provisioning process. |
| ]]> |
| </intro> |
| </strings> |
| |
| <template src="base"/> |
| <template src="FragmentView"/> |
| |
| <common src="logger"/> |
| <common src="activities"/> |
| |
| <metadata> |
| <status>PUBLISHED</status> |
| <categories>Device Admin</categories> |
| <technologies>Android</technologies> |
| <languages>Java</languages> |
| <solutions>Mobile</solutions> |
| <level>ADVANCED</level> |
| <icon>screenshots/icon-web.png</icon> |
| <screenshots> |
| <img>screenshots/1-main.png</img> |
| </screenshots> |
| <api_refs> |
| <android>android.app.admin.DevicePolicyManager</android> |
| <android>android.nfc.NfcAdapter</android> |
| </api_refs> |
| |
| <description> |
| <![CDATA[ |
| This sample demonstrates how to use NFC to provision a new device with a device owner. Device owner |
| is a specialized type of device administrator that can control device security and configuration. |
| This sample itself is not a device owner, but it is a programming app that sends NFC message to an |
| unprovisioned peer device and tells it to set up the specified device owner app. |
| ]]> |
| </description> |
| |
| <intro> |
| <![CDATA[ |
| NFC Provisioning app is nothing but an ordinary Android Beam app that just sends out provisioning |
| values to the peer device. This sample uses the values below. |
| |
| * [EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME] - The package name of the mobile device management |
| application that will be set as the profile owner or device owner. |
| * [EXTRA_PROVISIONING_LOCALE] - The Locale that the device will be set to. |
| * [EXTRA_PROVISIONING_TIME_ZONE] - The time zone AlarmManager that the device will be set to. |
| * [EXTRA_PROVISIONING_WIFI_SSID] - The ssid of the wifi network that should be used during nfc |
| device owner provisioning for downloading the mobile device management application. |
| * [EXTRA_PROVISIONING_WIFI_PASSWORD] - The password of the wifi network in |
| EXTRA_PROVISIONING_WIFI_SSID. |
| |
| Store values in an instance of Properties. Get a byte array representation of the Properties using |
| ByteArrayOutputStream. Create an NdefRecord with the MIME type of |
| [DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC][1]. Use [NfcAdapter#setNdefPushMessage][2] to set |
| the NdefMessage as the message to be sent. |
| |
| [1]: https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#MIME_TYPE_PROVISIONING_NFC |
| [2]: http://developer.android.com/reference/android/nfc/NfcAdapter.html#setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...) |
| ]]> |
| </intro> |
| </metadata> |
| </sample> |