使用 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;
    }

}