¿Dónde encontrar información sobre el comando de shell de "llamada de servicio" de Android?

Utilizando adb shell o un emulador de terminal en el dispositivo, ingresando esto borrará todas las notificaciones (requiere su )

 service call notification 1 

Esto enviará un sms (no requiere su )

 service call isms 5 s16 "PhoneNumber" i32 0 i32 0 s16 "BodyText" 

¿Dónde puedo obtener más información sobre la service call ? He encontrado esta pregunta y apreciar el desglose de la respuesta en cuanto a lo que todo significa. ¿Pero dónde puedo encontrar información sobre qué método de notification 2 podría estar tratando de llamar?

La ejecución de la service call fue incompleta e imprimió este uso:

 Usage: service [-h|-?] service list service check SERVICE service call SERVICE CODE [i32 INT | s16 STR] ... Options: i32: Write the integer INT into the send parcel. s16: Write the UTF-16 string STR into the send parcel. 

He funcionado la service list y volvió con 78 servicios para mi dispositivo incluyendo isms y notification y para la mayoría de los servicios imprimirá lo que parece ser un espacio de nombres ( com.android.internal.telephony.ISms for isms y android.app.INotificationManager para la notification ). ¿Cómo puedo usar esta información para averiguar qué puedo hacer con cada uno de estos servicios?

Aquí está mi mensaje sobre la llamada de servicios de Android desde el shell de ADB . Incluye un pequeño script bash que utilizo para descargar automáticamente la versión adecuada del código fuente del servicio para mi dispositivo específico y luego analizarlo para encontrar los códigos de transacción para todos los métodos.

Mi primera respuesta aquí, así que espero que sea útil para usted.

Para explicar este pequeño enigma déjame usar el androide 4.3.1. Este enlace podría ser esencial en su caso. Desplácese hacia abajo el código java a la línea 669. Hay espera para usted bloque de transacción estrictamente relacionados con el servicio com.android.internal.telephony.ISms y probablemente su respuesta a lo que puede hacer más.

En su caso está invocando TRANSACTION_sendText. La explicación es en la línea 673 donde puedes encontrar

 static final int TRANSACTION_sendText = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4); 

La última parte del código consta del dígito "4". Cada número de TRANSACCIÓN + 1 = el apropiado. Es por eso que service call isms 5 son responsables de sendText y no de sendMultipartText .

La misma regla se aplica para todos los servicios.

Estoy seguro de que ahora averigua cómo revisar TRANSACTIONS para el servicio de notificación. Buena diversión.

  • ¿Qué es dexopt? (Comando de Shell de Android)
  • Cómo empujar las carpetas de la computadora en sdcard usando adb shell
  • Propiedades del sistema de Android: deshabilitarlas en la línea de comandos
  • Ejecución de un comando de shell para copiar archivos de la aplicación Android
  • Adb extraer archivo en una carpeta específica de Pc
  • ¿Cómo puedo ejecutar la aplicación de cámara Android desde el shell de adb?
  • Cómo ejecutar la aplicación C ++ en Android SHELL
  • Cómo leer las propiedades de Android con Java
  • ¿Cómo traceroute en adb shell?
  • Problemas con el script wifi de Android
  • Shell / scripts por lotes para dirigir comandos a adb shell
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.