blob: 27930d08fbe8624b1d2b638d39a17426b1dfea93 [file] [log] [blame]
<?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>DeviceOwner</name>
<group>Admin</group>
<package>com.example.android.deviceowner</package>
<minSdk>21</minSdk>
<strings>
<intro>
<![CDATA[
This app demonstrates how to use device owner features. Use the NfcProvisioning sample to set up
this app as the device owner of your test device (This requires wiping out the device and resseting
it as an unprovisioned device). As a device owner, this app can configure global settings, and
enforce use of a specific launcher.
]]>
</intro>
</strings>
<template src="base"/>
<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.provider.Settings</android>
</api_refs>
<description>
<![CDATA[
This sample demonstrates how to use some device owner features. As a device owner, you can configure
global settings such as automatic time and timezone. You can mandate a specific launcher by
preferred intent handler.
]]>
</description>
<intro>
<![CDATA[
In order to set global settings, use [DevicePolicyManager#setGlobalSetting][1] and specify one of
the [Settings.Global][2] keys available. Note that you need to specify its value as a String. As
most of the keys accept boolean values, you will mostly use "1" for true and "0" for false.
You can mandate a specific launcher by adding a persistent preferred activity for an IntentFilter
with Intent.CATEGORY_HOME category. Call [DevicePolicyManager#addPersistentPreferredActivity][3] to
register the activity. You can clear the registration with
[clearPackagePersistentPreferredActivities][4].
As a device owner, you can also use the features available for managed profile owner. See
[BasicManagedProfile][5].
[1]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setGlobalSetting(android.content.ComponentName, java.lang.String, java.lang.String)
[2]: http://developer.android.com/reference/android/provider/Settings.Global.html
[3]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName)
[4]: http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String)
[5]: https://developer.android.com/samples/BasicManagedProfile/index.html
]]>
</intro>
</metadata>
</sample>