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 ?
- ¿Por qué no funciona LocalBroadcastManager en lugar de Context.registerReceiver?
- Android: intent.putExtra en una clase de servicio para obtener notificaciones
- Ciclo de vida de la clase de aplicación mientras se ejecuta el servicio
- Servicio Android android.os.BinderProxy error
- Mantener el servicio de fondo vivo después de la aplicación de salida del usuario
- El servicio Android debe ejecutarse siempre (nunca detener o detener)
- Cómo mantener mi servicio de aplicación sigue funcionando incluso si la aplicación está cerrada desde el administrador de tareas en MI teléfono
- No se puede resolver Manifest.permission.ACCESS_FINE_LOCATION
- Android Speech Reconocimiento de voz: Llamada repetida de SpeechRecognizer.startListening () falla en JB 4.1.2
- Android: servicio destruido cuando se gira la pantalla
- Error "No se puede iniciar el servicio de intención" al iniciar el servicio desde una actividad en Android
- ¿Necesita un ejemplo de código sobre cómo ejecutar un servicio Android para siempre en segundo plano incluso cuando el dispositivo está durmiendo, como Whatsapp?
- Android: Desactivar la pantalla de un servicio
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(); }