Merge "All kinds of little foreground services fixes." into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
525044e987
@@ -671,22 +671,22 @@ public abstract class Service extends ContextWrapper implements ComponentCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make this service run in the foreground, supplying the ongoing
|
* If your service is started (running through {@link Context#startService(Intent)}), then
|
||||||
|
* also make this service run in the foreground, supplying the ongoing
|
||||||
* notification to be shown to the user while in this state.
|
* notification to be shown to the user while in this state.
|
||||||
* By default services are background, meaning that if the system needs to
|
* By default started services are background, meaning that their process won't be given
|
||||||
* kill them to reclaim more memory (such as to display a large page in a
|
* foreground CPU scheduling (unless something else in that process is foreground) and,
|
||||||
* web browser), they can be killed without too much harm. You can set this
|
* if the system needs to kill them to reclaim more memory (such as to display a large page in a
|
||||||
* flag if killing your service would be disruptive to the user, such as
|
* web browser), they can be killed without too much harm. You use
|
||||||
|
* {@link #startForeground} if killing your service would be disruptive to the user, such as
|
||||||
* if your service is performing background music playback, so the user
|
* if your service is performing background music playback, so the user
|
||||||
* would notice if their music stopped playing.
|
* would notice if their music stopped playing.
|
||||||
*
|
*
|
||||||
* <p>If you need your application to run on platform versions prior to API
|
* <p>Note that calling this method does <em>not</em> put the service in the started state
|
||||||
* level 5, you can use the following model to call the the older setForeground()
|
* itself, even though the name sounds like it. You must always call
|
||||||
* or this modern method as appropriate:
|
* {@link #startService(Intent)} first to tell the system it should keep the service running,
|
||||||
*
|
* and then use this method to tell it to keep it running harder.</p>
|
||||||
* {@sample development/samples/ApiDemos/src/com/example/android/apis/app/ForegroundService.java
|
*
|
||||||
* foreground_compatibility}
|
|
||||||
*
|
|
||||||
* @param id The identifier for this notification as per
|
* @param id The identifier for this notification as per
|
||||||
* {@link NotificationManager#notify(int, Notification)
|
* {@link NotificationManager#notify(int, Notification)
|
||||||
* NotificationManager.notify(int, Notification)}; must not be 0.
|
* NotificationManager.notify(int, Notification)}; must not be 0.
|
||||||
@@ -716,7 +716,9 @@ public abstract class Service extends ContextWrapper implements ComponentCallbac
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove this service from foreground state, allowing it to be killed if
|
* Remove this service from foreground state, allowing it to be killed if
|
||||||
* more memory is needed.
|
* more memory is needed. This does not stop the service from running (for that
|
||||||
|
* you use {@link #stopSelf()} or related methods), just takes it out of the
|
||||||
|
* foreground state.
|
||||||
*
|
*
|
||||||
* @param flags additional behavior options.
|
* @param flags additional behavior options.
|
||||||
* @see #startForeground(int, Notification)
|
* @see #startForeground(int, Notification)
|
||||||
|
|||||||
@@ -644,8 +644,10 @@
|
|||||||
<!-- Text shown when viewing channel settings for notifications related to a usb connection -->
|
<!-- Text shown when viewing channel settings for notifications related to a usb connection -->
|
||||||
<string name="notification_channel_usb">USB connection</string>
|
<string name="notification_channel_usb">USB connection</string>
|
||||||
|
|
||||||
<!-- Text shown when viewing channel settings for notifications related to running foreground
|
<!-- This is the label for the notification channel settings that controls the behavior
|
||||||
services [CHAR LIMIT=NONE] -->
|
of the notification about applications that are running in the background (that is,
|
||||||
|
perhaps confusingly, running foreground services but not the foreground UI on the screen).
|
||||||
|
[CHAR LIMIT=NONE] -->
|
||||||
<string name="notification_channel_foreground_service">Apps running in background</string>
|
<string name="notification_channel_foreground_service">Apps running in background</string>
|
||||||
|
|
||||||
<!-- Label for foreground service notification when one app is running. [CHAR LIMIT=NONE] -->
|
<!-- Label for foreground service notification when one app is running. [CHAR LIMIT=NONE] -->
|
||||||
@@ -663,7 +665,10 @@
|
|||||||
data usage</string>
|
data usage</string>
|
||||||
|
|
||||||
<!-- Separator for foreground service notification content listing all apps when there
|
<!-- Separator for foreground service notification content listing all apps when there
|
||||||
are multiple apps running [CHAR LIMIT=NONE] -->
|
are multiple apps running. The left and right side may both already be compound
|
||||||
|
(constructed using this separator). Should be kept as short as possible, this is
|
||||||
|
for summary text in the notification where there is not a lot of space.
|
||||||
|
[CHAR LIMIT=NONE] -->
|
||||||
<string name="foreground_service_multiple_separator"><xliff:g id="left_side">%1$s</xliff:g>,
|
<string name="foreground_service_multiple_separator"><xliff:g id="left_side">%1$s</xliff:g>,
|
||||||
<xliff:g id="right_side">%2$s</xliff:g></string>
|
<xliff:g id="right_side">%2$s</xliff:g></string>
|
||||||
|
|
||||||
|
|||||||
@@ -2033,7 +2033,9 @@
|
|||||||
<!-- Title of the "running foreground services" dialog. [CHAR LIMIT=NONE] -->
|
<!-- Title of the "running foreground services" dialog. [CHAR LIMIT=NONE] -->
|
||||||
<string name="running_foreground_services_title">Apps running in background</string>
|
<string name="running_foreground_services_title">Apps running in background</string>
|
||||||
|
|
||||||
<!-- Title of the "running foreground services" dialog. [CHAR LIMIT=NONE] -->
|
<!-- Descriptive text of an item in the "running foreground services" dialog, telling the
|
||||||
|
user what will happen when they tap on that item (which is an application that has
|
||||||
|
been identified for them as running). [CHAR LIMIT=NONE] -->
|
||||||
<string name="running_foreground_services_msg">Tap for details on battery and data usage</string>
|
<string name="running_foreground_services_msg">Tap for details on battery and data usage</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public final class ForegroundServicesDialog extends AlertActivity implements
|
|||||||
private DialogInterface.OnClickListener mAppClickListener =
|
private DialogInterface.OnClickListener mAppClickListener =
|
||||||
new DialogInterface.OnClickListener() {
|
new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
String pkg = mPackages[which];
|
String pkg = mAdapter.getItem(which).packageName;
|
||||||
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||||
intent.setData(Uri.fromParts("package", pkg, null));
|
intent.setData(Uri.fromParts("package", pkg, null));
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|||||||
Reference in New Issue
Block a user