'how to start service from fragments

I want to start service from fragment from a list view item. I am trying to call service with:

startService(new Intent(getActivity(),myPlayService.class));

But it wont work at all. How do i call my service from fragments? Is there any another way to start service?



Solution 1:[1]

Replace

startService(new Intent(getActivity(),myPlayService.class));

with

getActivity().startService(new Intent(getActivity(),myPlayService.class));

Solution 2:[2]

To start service from a fragment use

Java

requireActivity().startService(new Intent(getContext(), ServiceName.class));

Kotlin

requireActivity().startService(Intent(context, ServiceName::class.java)

Solution 3:[3]

Make sure to add the service tag in manifest.xml

   <service android:name=".ServieName"/>

The service won't start if the service tag is not properly added in the manifest.

For more info refer android documentation

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 DroidBender
Solution 2 guest
Solution 3