Service的stopSelf方法用于停止服务,代码如下:
//frameworks/base/core/java/android/app/Service.java
public abstract class Service extends ContextWrapper implements ComponentCallbacks2,
ContentCaptureManager.ContentCaptureClient {
public final void stopSelf() {
stopSelf(-1);
}
}
调用重载方法:
//frameworks/base/core/java/android/app/Service.java
public abstract class Service extends ContextWrapper implements ComponentCallbacks2,
ContentCaptureManager.ContentCaptureClient {
private IActivityManager mActivityManager = null;
public final void stopSelf(int startId) {
if (mActivityManager == null) {
return;
}
try {
mActivityManager.stopServiceToken(
new ComponentName(this, mClassName), mToken, startId);
} catch (RemoteException ex) {
}
}
}
ActivityManagerService stopServiceToken
调用IActivityManager的stopServiceToken方法,IActivityManager是一个接口,ActivityManagerService实现了这个接口。
Android13 ActivityManagerService stopServiceToken流程分析-CSDN博客