学习过程中参考的链接
Android 服务(Service) | 菜鸟教程
服务概览 | Android 开发者 | Android Developers
Android 服务(Service)
用法
1.创建MyService.java
新建Services包,并在其中创建ControlServices.java
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import androidx.annotation.Nullable;
public class ControlService extends Service {
/** 标识服务如果被杀死之后的行为 */
int mStartMode;
/** 绑定的客户端接口 */
IBinder mBinder;
/** 标识是否可以使用onRebind */
boolean mAllowRebind;
/**
* 当服务被创建时调用
*/
@Override
public void onCreate() {
Toast.makeText(this, "当服务被创建时调用", Toast.LENGTH_SHORT).show();
super.onCreate();
}
/**
* 调用 startService()启动服务时回调
* @param intent
* @param flags
* @param startId
* @return
*/
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "调用 startService()启动服务时回调", Toast.LENGTH_SHORT).show();
return super.onStartCommand(intent, flags, startId);
}
/**
* 通过bindService()绑定到服务的客户端
* @param intent
* @return
*/
@Nullable
@Override
public IBinder onBind(Intent intent) {
Toast.makeText(this, "通过bindService()绑定到服务的客户端", Toast.LENGTH_SHORT).show();
return null;
}
/**
* 通过unbindService()解除所有客户端绑定时调用
* @param intent
* @return
*/
@Override
public boolean onUnbind(Intent intent) {
Toast.makeText(this, "通过unbindService()解除所有客户端绑定时调用", Toast.LENGTH_SHORT).show();
return super.onUnbind(intent);
}
/**
* 通过bindService()将客户端绑定到服务时调用
* @param intent
*/
@Override
public void onRebind(Intent intent) {
Toast.makeText(this, "通过bindService()将客户端绑定到服务时调用", Toast.LENGTH_SHORT).show();
super.onRebind(intent);
}
/**
* 服务不再有用且将要被销毁时调用
*/
@Override
public void onDestroy() {
Toast.makeText(this, "服务不再有用且将要被销毁时调用", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
}
2.在Manifest.xml中声明
<manifest ... >
...
<application ... >
<service android:name=".Services.ControlServices" />
...
</application>
</manifest>
3.在Activity中调用startService方法
startService(new Intent(getBaseContext(), ControlService.class));