StartService de la clase que no extiende Actividad
He creado una clase que extiende IntentService, y me gustaría iniciar el servicio de una clase que no es una actividad, por lo tanto, no tengo acceso a un objeto Contexto. No pude encontrar un ejemplo de esto en la documentación o en la web. Es posible ?
- Comprobación de la conexión a Internet con el servicio en android
- ¿Se puede anidar un servicio en una aplicación?
- servicio androide para realizar un seguimiento de las llamadas salientes y SMS en segundo plano
- Cómo grabar vídeo desde el fondo de la aplicación: Android
- Android: habilitar y servicios
- El archivo Dex superó los 64 KB después de agregar Google Play Services.
- Servicio de reconocimiento continuo de voz de Android
- El servicio de fondo de Android se está reiniciando cuando se cancela la aplicación
- Definición de la política de SELinux para el servicio del sistema Android: cómo configurar?
- Detener servicio cuando la aplicación está cerrada
- Pop-up cuadro de diálogo de alerta de servicio en android
- ¿Cómo eliminar las actualizaciones de ubicación en la clase de servicio en android?
- Implementación de un temporizador de cuenta atrás utilizando Servicio en segundo plano
Deberá pasar el contexto actual de la actividad a la clase non Activity para iniciar el servicio desde la clase non-activity como:
public class NonActivity { public Context context; public NonActivity(Context context) this.context=context; } public void startServicefromNonActivity(){ Intent intent=new Intent(context,yourIntentService.class); context.startService(intent); }
Y pasa el contexto actual como:
public class AppActivity extends Activity { NonActivity nonactiityobj; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nonactiityobj=new NonActivity(CuttentActivity.this); //start service here nonactiityobj.startServicefromNonActivity(); } }
Utilice este código Start and Stop Service
public class MyService { Context context ; public MyService(Context cont) { this.context = context ; } public void StartMyService() { Intent i = new Intent(context,YourService.class); context.startService(i); } public void StopMyService() { Intent i = new Intent(context,YourService.class); context.stopService(i); } }
Esto acaba de crear el objeto de esta clase
MyService mySevice ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myService = new MyService(this); //For Startting Service myService.StartMyService(); //For Stopping Service myService.StopMyService(); }