1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright 2015 The Android Open Source Project 4 5 Licensed under the Apache License, Version 2.0 (the "License"); 6 you may not use this file except in compliance with the License. 7 You may obtain a copy of the License at 8 9 http://www.apache.org/licenses/LICENSE-2.0 10 11 Unless required by applicable law or agreed to in writing, software 12 distributed under the License is distributed on an "AS IS" BASIS, 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 See the License for the specific language governing permissions and 15 limitations under the License. 16--> 17<sample> 18 <name>DeviceOwner</name> 19 <group>Admin</group> 20 <package>com.example.android.deviceowner</package> 21 <minSdk>21</minSdk> 22 23 <strings> 24 <intro> 25<![CDATA[ 26This app demonstrates how to use device owner features. Use the NfcProvisioning sample to set up 27this app as the device owner of your test device (This requires wiping out the device and resseting 28it as an unprovisioned device). As a device owner, this app can configure global settings, and 29enforce use of a specific launcher. 30]]> 31 </intro> 32 </strings> 33 34 <template src="base"/> 35 36 <metadata> 37 <status>PUBLISHED</status> 38 <categories>Device Admin</categories> 39 <technologies>Android</technologies> 40 <languages>Java</languages> 41 <solutions>Mobile</solutions> 42 <level>ADVANCED</level> 43 <icon>screenshots/icon-web.png</icon> 44 <screenshots> 45 <img>screenshots/1-main.png</img> 46 </screenshots> 47 <api_refs> 48 <android>android.app.admin.DevicePolicyManager</android> 49 <android>android.provider.Settings</android> 50 </api_refs> 51 52 <description> 53<![CDATA[ 54This sample demonstrates how to use some device owner features. As a device owner, you can configure 55global settings such as automatic time and timezone. You can mandate a specific launcher by 56preferred intent handler. 57]]> 58 </description> 59 60 <intro> 61<![CDATA[ 62In order to set global settings, use [DevicePolicyManager#setGlobalSetting][1] and specify one of 63the [Settings.Global][2] keys available. Note that you need to specify its value as a String. As 64most of the keys accept boolean values, you will mostly use "1" for true and "0" for false. 65 66You can mandate a specific launcher by adding a persistent preferred activity for an IntentFilter 67with Intent.CATEGORY_HOME category. Call [DevicePolicyManager#addPersistentPreferredActivity][3] to 68register the activity. You can clear the registration with 69[clearPackagePersistentPreferredActivities][4]. 70 71As a device owner, you can also use the features available for managed profile owner. See 72[BasicManagedProfile][5]. 73 74[1]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setGlobalSetting(android.content.ComponentName, java.lang.String, java.lang.String) 75[2]: http://developer.android.com/reference/android/provider/Settings.Global.html 76[3]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName) 77[4]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String) 78[5]: https://developer.android.com/samples/BasicManagedProfile/index.html 79]]> 80 </intro> 81 </metadata> 82</sample> 83