使用 Intent 启动 Unbound Service
服务是在后台运行(在 UI 线程上)而不与用户直接交互的组件。未绑定的服务刚刚启动,并且不受任何活动的生命周期的约束。
要启动服务,你可以执行以下示例中所示的操作:
// This Intent will be used to start the service
Intent i= new Intent(context, ServiceName.class);
// potentially add data to the intent extras
i.putExtra("KEY1", "Value to be used by the service");
context.startService(i);
你可以使用 onStartCommand()
覆盖来使用意图中的任何额外内容:
public class MyService extends Service {
public MyService() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
if (intent != null) {
Bundle extras = intent.getExtras();
String key1 = extras.getString("KEY1", "");
if (key1.equals("Value to be used by the service")) {
//do something
}
}
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}