summaryrefslogtreecommitdiffstats
path: root/docs/html/guide/topics/manifest/permission-tree-element.jd
blob: 3074354c773e91682db0c5cc12e36a38bfee57e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
page.title=<permission-tree>
@jd:body

<dl class="xml">
<dt>syntax:</dt>
<dd><pre class="stx">&lt;permission-tree android:<a href="#icon">icon</a>="<i>drawable resource</i>"
                 android:<a href="#label">label</a>="<i>string resource</i>" ]
                 android:<a href="#nm">name</a>="<i>string</i>" /&gt;</pre></dd>

<dt>contained in:</dt>
<dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code></dd>

<dt>description:</dt>
<dd>Declares the base name for a tree of permissions.  The application takes 
ownership of all names within the tree.  It can dynamically add new permissions 
to the tree by calling <code>{@link android.content.pm.PackageManager#addPermission PackageManager.addPermission()}</code>.  Names within the tree are separated by
periods ('{@code .}').  For example, if the base name is
{@code com.example.project.taxes}, permissions like the following might be
added:

<p style="margin-left: 2em">{@code com.example.project.taxes.CALCULATE}
<br/>{@code com.example.project.taxes.deductions.MAKE_SOME_UP}
<br/>{@code com.example.project.taxes.deductions.EXAGGERATE}</p>

<p>
Note that this element does not declare a permission itself, only a 
namespace in which further permissions can be placed.  See the 
<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
element for information on declaring permissions.

<dt>attributes:</dt>
<dd><dl class="attr">
<dt><a name="icon"></a>{@code android:icon}</dt>
<dd>An icon representing all the permissions in the tree.  This attribute 
must be set as a reference to a drawable resource containing the image 
definition.</dd>

<dt><a name="label"></a>{@code android:label}</dt>
<dd>A user-readable name for the group.  As a convenience, the label can 
be directly set as a raw string for quick and dirty programming.  However, 
when the application is ready to be published, it should be set as a 
reference to a string resource, so that it can be localized like other 
strings in the user interface.</dd>

<dt><a name="nm"</a>{@code android:name}</dt>
<dd>The name that's at the base of the permission tree.  It serves as 
a prefix to all permission names in the tree.  Java-style scoping should 
be used to ensure that the name is unique.  The name must have more than 
two period-separated seqments in its path &mdash; for example, 
{@code com.example.base} is OK, but {@code com.example} is not.</dd>

</dl></dd>

<!-- ##api level indication## -->
<dt>introduced in:</dt>
<dd>API Level 1</dd>

<dt>see also:</dt>
<dd><code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
<br/><code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
<br/><code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
</dd>

</dl>