una - pedir varios permisos android studio
AplicaciĆ³n de Android como servicio sin actividad. (2)
Estoy creando un conjunto de aplicaciones y tengo prácticamente el mismo servicio de fondo para todas ellas.
Estoy tratando de hacer una aplicación que tenga solo este Service
. así que no lo repito en todos ellos, pero la cosa es que no necesita ninguna Activity
. porque no se necesita una interfaz de usuario, por lo que el usuario no puede cerrarla, excepto si detiene el Service
.
Intenté eliminar la Activity
, pero luego la aplicación no se ejecuta ni se inicia. Mi pregunta es: ¿puedo crear una aplicación exactamente como Google Play Services
para que otras aplicaciones puedan usar su Service
?
Si es así que un fragmento o una muestra sería muy bienvenido.
¡Por supuesto! No hay razón para que no pueda tener una aplicación con solo un servicio. ... y no hay necesidad de entrar en AIDL a menos que quieras.
El problema es, cómo hacer que la aplicación se ejecute. Cuando creas una aplicación con una Actividad, agregas un filtro de Intención, en el manifiesto, que hace que la actividad se pueda iniciar desde el Lanzador. Si no hay actividad, tendrás que encontrar otra forma de iniciarla.
Aunque es fácil de hacer. Simplemente dispara un intento desde uno de tus otros programas, como este:
startService(new Intent("my.service.intent"));
... donde se registra el servicio tu manifiesto, así:
<service android:name=".SomeService" >
<intent-filter>
<action android:name="my.service.intent"/>
</intent-filter>
Podría usar esa intención para pasar los parámetros Parcelable al servicio, y el servicio puede responder mediante la transmisión de los intentos.
Por supuesto, startService y broadcastIntent son un poco torpes si realmente necesitas una API compleja entre las aplicaciones y tu servicio. Si necesita algo más rico, querrá consultar AIDL y un Servicio Bound.
Editado para agregar el filtro de intención
Sí, creo que estás buscando AIDL. ¿Echar un vistazo a este hilo?
https://groups.google.com/forum/#!topic/android-developers/LuWPZjPZ0sk