¿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.

  • ¿Cómo puedo eliminar todas las tareas / aplicaciones activas que utilizan ADB?
  • shell script en android da [: no encontrado
  • ¿Cómo ejecuto un binario compilado en Android?
  • Un explaniton más profundo de procstats para Android
  • ¿Qué es dexopt? (Comando de Shell de Android)
  • Propiedades del sistema de Android: deshabilitarlas en la línea de comandos
  • ¿Cómo iniciar el dispositivo Genymotion con el comando shell?
  • APV lector pdf. Problemas de instalación, descompresión y biblioteca nativa
  • ¿Por qué la bomba de horquilla no bloqueó el androide?
  • ADB Shell que da el modo incorrecto al ejecutar chmod (bajo su)
  • Android Shell EOF
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.