Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4f9872c authored by Scott Main's avatar Scott Main Committed by Android Git Automerger
Browse files

am dc0ae0cb: am 138836ad: Merge "docs: add info about manifest attributes that...

am dc0ae0cb: am 138836ad: Merge "docs: add info about manifest attributes that should not change" into honeycomb-mr2

* commit 'dc0ae0cb':
  docs: add info about manifest attributes that should not change
parents f9705ef6 dc0ae0cb
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ href="{@docRoot}guide/topics/ui/index.html">User Interface</a> documentation.</p
<h3 id="Declaring">Declaring the activity in the manifest</h3>

<p>You must declare your activity in the manifest file in order for it to
be accessible to the system. To decalare your activity, open your manifest file and add an <a
be accessible to the system. To declare your activity, open your manifest file and add an <a
href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> element
as a child of the <a
href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
@@ -163,9 +163,16 @@ element. For example:</p>

<p>There are several other attributes that you can include in this element, to define properties
such as the label for the activity, an icon for the activity, or a theme to style the activity's
UI. See the <a
UI. The <a href="{@docRoot}guide/topics/manifest/activity-element.html#nm">{@code android:name}</a>
attribute is the only required attribute&mdash;it specifies the class name of the activity. Once
you publish your application, you should not change this name, because if you do, you might break
some functionality, such as application shortcuts (read the blog post, <a
href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">Things
That Cannot Change</a>).</p>

<p>See the <a
href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> element
reference for more information about available attributes.</p>
reference for more information about declaring your activity in the manifest.</p>


<h4>Using intent filters</h4>
+11 −3
Original line number Diff line number Diff line
@@ -203,7 +203,7 @@ it from other application components.</p>
<p>Like activities (and other components), you must declare all services in your application's
manifest file.</p>

<p>To decalare your service, add a <a
<p>To declare your service, add a <a
href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> element
as a child of the <a
href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
@@ -222,9 +222,17 @@ element. For example:</p>
<p>There are other attributes you can include in the <a
href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> element to
define properties such as permissions required to start the service and the process in
which the service should run. See the <a
which the service should run. The <a
href="{@docRoot}guide/topics/manifest/service-element.html#nm">{@code android:name}</a>
attribute is the only required attribute&mdash;it specifies the class name of the service. Once
you publish your application, you should not change this name, because if you do, you might break
some functionality where explicit intents are used to reference your service (read the blog post, <a
href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">Things
That Cannot Change</a>).

<p>See the <a
href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> element
reference for more information.</p>
reference for more information about declaring your service in the manifest.</p>

<p>Just like an activity, a service can define intent filters that allow other components to
invoke the service using implicit intents. By declaring intent filters, components
+4 −0
Original line number Diff line number Diff line
@@ -507,6 +507,10 @@ However, as a shorthand, if the first character of the name is a period
package name specified in the 
<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
element.
<p>Once you publish your application, you <a
href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">should not
change this name</a> (unless you've set <code><a
href="#exported">android:exported</a>="false"</code>).</p>

<p>
There is no default.  The name must be specified.
+13 −4
Original line number Diff line number Diff line
@@ -47,12 +47,15 @@ and specify {@code xlmns:android} and {@code package} attributes.</dd>
to "{@code http://schemas.android.com/apk/res/android}".</dd>

<dt><a name="package"></a>{@code package}</dt>
<dd>A full Java package name for the application.  The name should 
<dd>A full Java-language-style package name for the application.  The name should 
be unique.  The name may contain uppercase or lowercase letters ('A'
through 'Z'), numbers, and underscores ('_').  However, individual
package name parts may only start with letters.  For example, applications
published by Google could have names in the form
<code>com.google.app.<i>application_name</i></code>.
package name parts may only start with letters.

<p>To avoid conflicts with other developers, you should use Internet domain ownership as the
basis for your package names (in reverse). For example, applications published by Google start with
<code>com.google</code>. You should also never use the <code>com.example</code> namespace when
publishing your applications.</p>

  <p>
  The package name serves as a unique identifier for the application.
@@ -66,6 +69,12 @@ published by Google could have names in the form
  element's
  <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">taskAffinity</a></code> attribute).
  </p>

  <p class="caution"><strong>Caution:</strong> Once you publish your application, you
<strong>cannot change the package name</strong>. The package name defines your application's
identity, so if you change it, then it is considered to be a different application and users of
the previous version cannot update to the new version.</p>

</dd>

<dt><a name="uid"></a>{@code android:sharedUserId}</dt>
+5 −0
Original line number Diff line number Diff line
@@ -122,6 +122,11 @@ as a shorthand, if the first character of the name is a period (for example,
"{@code . ReportReceiver}"), it is appended to the package name specified in 
the <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.  

<p>Once you publish your application, you <a
href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">should not
change this name</a> (unless you've set <code><a
href="#exported">android:exported</a>="false"</code>).</p>

<p>
There is no default.  The name must be specified.
</p></dd>
Loading