Deprecate IntentService

IntentService always had some issues, such as delivering null, adding
latency, inconsistently silently dropping tasks scheduled on its thread
local handler, etc. But with android O's background task restrictions,
it's really not useful anymore, and there are jetpack APIs that provide
its same functionality.

Bug: 144042891
Test: No behavior changes
Change-Id: I1a91afeeb73e270c54a9ec266b15b5d865ef8339
This commit is contained in:
Charles Munger
2019-11-12 08:35:39 -08:00
parent 49af39e751
commit 6f8b090299
3 changed files with 14 additions and 15 deletions

View File

@@ -5115,12 +5115,12 @@ package android.app {
method public android.content.Intent getResultData();
}
public abstract class IntentService extends android.app.Service {
ctor public IntentService(String);
method @Nullable public android.os.IBinder onBind(android.content.Intent);
method @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
method public void onStart(@Nullable android.content.Intent, int);
method public void setIntentRedelivery(boolean);
@Deprecated public abstract class IntentService extends android.app.Service {
ctor @Deprecated public IntentService(String);
method @Deprecated @Nullable public android.os.IBinder onBind(android.content.Intent);
method @Deprecated @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
method @Deprecated public void onStart(@Nullable android.content.Intent, int);
method @Deprecated public void setIntentRedelivery(boolean);
}
public class KeyguardManager {

View File

@@ -44,13 +44,6 @@ import android.os.Message;
* long as necessary (and will not block the application's main loop), but
* only one request will be processed at a time.
*
* <p class="note"><b>Note:</b> IntentService is subject to all the
* <a href="/preview/features/background.html">background execution limits</a>
* imposed with Android 8.0 (API level 26). In most cases, you are better off
* using {@link android.support.v4.app.JobIntentService}, which uses jobs
* instead of services when running on Android 8.0 or higher.
* </p>
*
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For a detailed discussion about how to create services, read the
@@ -59,8 +52,14 @@ import android.os.Message;
* </div>
*
* @see android.support.v4.app.JobIntentService
* @see android.os.AsyncTask
*
* @deprecated IntentService is subject to all the
* <a href="/preview/features/background.html">background execution limits</a>
* imposed with Android 8.0 (API level 26). Consider using {@link androidx.work.WorkManager}
* or {@link androidx.core.app.JobIntentService}, which uses jobs
* instead of services when running on Android 8.0 or higher.
*/
@Deprecated
public abstract class IntentService extends Service {
private volatile Looper mServiceLooper;
@UnsupportedAppUsage

View File

@@ -57,7 +57,7 @@ import java.lang.annotation.RetentionPolicy;
* networking) operations, it should spawn its own thread in which to do that
* work. More information on this can be found in
* <a href="{@docRoot}guide/topics/fundamentals/processes-and-threads.html">Processes and
* Threads</a>. The {@link IntentService} class is available
* Threads</a>. The {@link androidx.core.app.JobIntentService} class is available
* as a standard implementation of Service that has its own thread where it
* schedules its work to be done.</p>
*