2 votos

La llamada a la intención de servicio falla con "no encontrado"

Quiero iniciar un intento de servicio de una aplicación (com.urbandroid.lux). Según el desarrollador, hay una intención de servicio "com.urbandroid.lux.TwilightService" que se puede llamar con un extra "toggle"/"alternar" (cadena).

Pero haga lo que haga, siempre me sale un error de "No encontrado". Por ejemplo, usando adb como Root:

# am startservice -c "" --es toggle toggle com.urbandroid.lux com.urbandroid.lux.TwilightService
Starting service: Intent { act=android.intent.action.MAIN cat=[] pkg=com.urbandroid.lux (has extras) }
Error: Not found; no service started.
#

También he probado a utilizar Tasker. Con "adb logcat" obtengo un error similar:

W/ActivityManager( 1402): Unable to start service Intent { act=com.urbandroid.lux.TwilightService pkg=com.urbandroid.lux (has extras) } U=0: not found

Ahora he utilizado "aapt dump xmltree lux.apk AndroidManifest.xml" para verificar la existencia de la intención. Como se puede ver, efectivamente está ahí (línea 55-57):

http://pastebin.com/31NqrSuN

He probado todas las combinaciones (barras/puntos, diferentes llamadas, ...) que se me han ocurrido. Pero el error es siempre el mismo.

¿Hay algo en particular que esté haciendo mal? ¿Qué es exactamente lo que no se encuentra aquí? ¿La aplicación? ¿El proceso? ¿El servicio? ¿El punto/método de entrada?

3voto

Andy Brudtkuhl Puntos 1714

El nombre del componente se especifica como el nombre del paquete, luego una barra y después el nombre de la clase. Así que en este caso, el comando que quieres es

am startservice --es toggle toggle com.urbandroid.lux/.TwilightService

Para futuras referencias, y para evitar confusiones: el intento es el nombre del mensaje que se envía para iniciar el servicio . Lo que quieres iniciar es un servicio, no una "intención de servicio", y lo que encontraste en el manifiesto es un servicio, no una intención.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X