diff --git a/docs/html/guide/topics/fundamentals/activities.jd b/docs/html/guide/topics/fundamentals/activities.jd index 5cc1b45e38bb1..cb453da688270 100644 --- a/docs/html/guide/topics/fundamentals/activities.jd +++ b/docs/html/guide/topics/fundamentals/activities.jd @@ -145,7 +145,7 @@ href="{@docRoot}guide/topics/ui/index.html">User Interface documentation.

Declaring the activity in the manifest

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 {@code <activity>} element as a child of the {@code <application>} @@ -163,9 +163,16 @@ element. For example:

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 {@code android:name} +attribute is the only required attribute—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, Things +That Cannot Change).

+ +

See the {@code <activity>} element -reference for more information about available attributes.

+reference for more information about declaring your activity in the manifest.

Using intent filters

diff --git a/docs/html/guide/topics/fundamentals/services.jd b/docs/html/guide/topics/fundamentals/services.jd index d3ef70aaef639..9c38897671c99 100644 --- a/docs/html/guide/topics/fundamentals/services.jd +++ b/docs/html/guide/topics/fundamentals/services.jd @@ -203,7 +203,7 @@ it from other application components.

Like activities (and other components), you must declare all services in your application's manifest file.

-

To decalare your service, add a To declare your service, add a {@code <service>} element as a child of the {@code <application>} @@ -222,9 +222,17 @@ element. For example:

There are other attributes you can include in the {@code <service>} element to define properties such as permissions required to start the service and the process in -which the service should run. See the {@code android:name} +attribute is the only required attribute—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, Things +That Cannot Change). + +

See the {@code <service>} element -reference for more information.

+reference for more information about declaring your service in the manifest.

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 diff --git a/docs/html/guide/topics/manifest/activity-element.jd b/docs/html/guide/topics/manifest/activity-element.jd index c910686946bc7..34862121ae822 100644 --- a/docs/html/guide/topics/manifest/activity-element.jd +++ b/docs/html/guide/topics/manifest/activity-element.jd @@ -507,6 +507,10 @@ However, as a shorthand, if the first character of the name is a period package name specified in the <manifest> element. +

Once you publish your application, you should not +change this name (unless you've set android:exported="false").

There is no default. The name must be specified. diff --git a/docs/html/guide/topics/manifest/manifest-element.jd b/docs/html/guide/topics/manifest/manifest-element.jd index 598e88ffda668..d737a67a9058b 100644 --- a/docs/html/guide/topics/manifest/manifest-element.jd +++ b/docs/html/guide/topics/manifest/manifest-element.jd @@ -47,12 +47,15 @@ and specify {@code xlmns:android} and {@code package} attributes. to "{@code http://schemas.android.com/apk/res/android}".

{@code package}
-
A full Java package name for the application. The name should +
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 -com.google.app.application_name. +package name parts may only start with letters. + +

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 +com.google. You should also never use the com.example namespace when +publishing your applications.

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 taskAffinity attribute).

+ +

Caution: Once you publish your application, you +cannot change the package name. 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.

+
{@code android:sharedUserId}
diff --git a/docs/html/guide/topics/manifest/receiver-element.jd b/docs/html/guide/topics/manifest/receiver-element.jd index 7012c0fda67f0..8416c0c9c7662 100644 --- a/docs/html/guide/topics/manifest/receiver-element.jd +++ b/docs/html/guide/topics/manifest/receiver-element.jd @@ -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 <manifest> element. +

Once you publish your application, you should not +change this name (unless you've set android:exported="false").

+

There is no default. The name must be specified.

diff --git a/docs/html/guide/topics/manifest/service-element.jd b/docs/html/guide/topics/manifest/service-element.jd index d9a81b3a05e4c..82d1f6a841519 100644 --- a/docs/html/guide/topics/manifest/service-element.jd +++ b/docs/html/guide/topics/manifest/service-element.jd @@ -6,7 +6,7 @@ parent.link=manifest-intro.html
syntax:
<service android:enabled=["true" | "false"]
-         android:exported[="true" | "false"]
+         android:exported=["true" | "false"]
          android:icon="drawable resource"
          android:label="string resource"
          android:name="string"
@@ -121,6 +121,11 @@ the first character of the name is a period (for example, "{@code .RoomService}"
 it is appended to the package name specified in the 
 <manifest> element.  
 
+

Once you publish your application, you should not +change this name (unless you've set android:exported="false").

+

There is no default. The name must be specified.