18

onTaskRemoved()我有一个已实现该方法的服务。当通过滑动从最近的应用程序列表中删除应用程序时,使用该功能
启动服务时调用。startService()onTaskRemoved()

但是,如果服务以 启动bindService(),则onTaskRemoved()永远不会调用。

onTaskRemoved()当应用程序启动后通过滑动从最近的应用程序列表中删除时,如何进行服务调用bindService()

如果以以下方式开始,Android 会调用以下生命周期方法:

1. bindService():
Activity﹕ onCreate()
CustomService﹕ onCreate()
CustomService﹕ onStart()
CustomService﹕ onStartCommand()
CustomService﹕ onBind()
// Here we swipe to remove app from recent-apps-list
CustomService﹕ onTrimMemory()

2. startService():
ActivityA﹕ onCreate()
CustomService﹕ onCreate()
CustomService﹕ onStart()
CustomService﹕ onStartCommand()
CustomService﹕ onBind()
// Swipe to remove app from recent-apps-list
CustomService﹕ onTrimMemory()
CustomService﹕ onTaskRemoved() // <===== 
CustomService﹕ onUnbind()
4

1 回答 1

15

可以绑定或启动服务,或两者兼而有之。这取决于您如何实施onStartCommandonBind说文档。

http://developer.android.com/guide/components/services.html

但是,如果您希望您的服务在 IBinder 上同时保持并与客户交谈,那么只需启动该服务,然后绑定到它。

startService(new Intent(context, CustomerService.class));
// Bind to the service
bindService(new Intent(context, CustomerService.class),
                        mConnection, Context.BIND_AUTO_CREATE);
于 2014-06-10T02:44:14.603 回答