1 votos

¿Existe alguna forma de eliminar permanentemente alarmas específicas (fantasma) utilizando adb shell?

Mi teléfono ha creado misteriosamente una alarma fantasma, lo que significa que ninguna aplicación GUI o widget muestra esta alarma en mi teléfono y por lo tanto nada me permite ver para establecer, eliminar o ver esta alarma.

Utilizando adb dumpsys alarm He encontrado la alarma, que suena de lunes a viernes a las 06.30 horas y es increíblemente molesta.

Utilizando adb Puedo encontrar la alarma diaria, lo que significa que puedo encontrar el ID de la alarma, que en mi caso, ahora mismo, es ff691fe .

¿Hay alguna forma de eliminar esta alarma de forma permanente utilizando adb ? Asumo que este ID en particular probablemente no sea el ID de root, pero ¿quizás alguien sepa cómo puedo encontrarlo? Seguiré buscando.

Acabo de probar (con el resultado del comando)

b0q:/ $ service call alarm 3 i32 ff691fe
Result: Parcel(00000000    '....')

y esto no funcionó, por desgracia. Una cosa que sospechaba y confirmé es que el ID cambia después de que transcurre un temporizador, pero todavía no he determinado cómo obtener un ID de padre (probablemente no se llama correctamente allí) para la alarma. Además, es probable que necesite ese ID para eliminar permanentemente las alarmas.

Cualquier ayuda al respecto será muy apreciada. Esto parece un gran error en el sistema operativo Android.

1 votos

No dumpsys alarm ¿también muestra el nombre del paquete de la aplicación de origen?

0 votos

Sí, es correcto. Para la posteridad, estoy usando esto como un go-by: stackoverflow.com/questions/28742884/

0 votos

He aprendido que la alarma fantasma proviene del modo de suspensión, que he borrado, pero la alarma sigue viva. No tengo forma de borrar esta alarma por lo que veo.

1voto

Reinis Puntos 331

OK, resulta que el service call hizo trabajo, por lo que puedo decir. Sólo tenía que ajustar el comando un poco.

Lo más importante era determinar correctamente el ID de la alarma. Utilizando el enlace aquí se puede encontrar el ID. Tenga en cuenta que el ID se encuentra en una sección específica del dumpsys alarm mando. El formato de la salida para ese comando es confuso al principio, pero esencialmente usted está buscando algo como:

donde ### en esto es un número que representa el número de alarma (no ### literalmente)

### pending alarms:
...
...
...
    RTC_WAKEUP #88: Alarm{5d74fad type 0 origWhen 1677671101000 whenElapsed 1028621179 com.sec.android.app.clockpackage}
      tag=*walarm*:com.samsung.sec.android.clockpackage.alarm.UPCOMING_ALERT
      type=RTC_WAKEUP origWhen=2023-03-01 04:45:01.000 window=0 exactAllowReason=permission repeatInterval=0 count=0 flags=0x5
      policyWhenElapsed: requester=+7h4m50s571ms app_standby=-1m20s270ms device_idle=-- battery_saver=-55s468ms tare=-2m1s488ms gms_manager=--
      whenElapsed=+7h4m50s571ms maxWhenElapsed=+7h4m50s571ms
      operation=PendingIntent{493d673: PendingIntentRecord{4efa417 com.sec.android.app.clockpackage broadcastIntent}}
      idle-options=Bundle[{android.pendingIntent.backgroundActivityAllowed=false, android:broadcast.temporaryAppAllowlistReasonCode=302, android:broadcast.temporaryAppAllowlistDuration=10000, android:broadcast.temporaryAppAllowlistReason=, android:broadcast.temporaryAppAllowlistType=0}]
    RTC_WAKEUP #89: Alarm{e3b8930 type 0 origWhen 1677671507448 whenElapsed 1029027627 com.samsung.android.rubin.app}
      tag=*walarm*:com.samsung.android.rubin.alarm.ACTION_PENDING_INTENT
      type=RTC_WAKEUP origWhen=2023-03-01 04:51:47.448 window=+2h0m0s0ms repeatInterval=0 count=0 flags=0x0
      policyWhenElapsed: requester=+7h11m37s19ms app_standby=-1m20s270ms device_idle=-- battery_saver=-55s352ms tare=-1h17m15s404ms gms_manager=--
      whenElapsed=+7h11m37s19ms maxWhenElapsed=+9h11m37s19ms
      operation=PendingIntent{e4639a9: PendingIntentRecord{84e3864 com.samsung.android.rubin.app broadcastIntent}}
...
...
...

En este ejemplo, RTC_WAKEUP #88 es la alarma pendiente. En esa cadena, la salida Alarm{5d74fad type muestra el ID de la alarma, que es 5d74fad .

Ahora, ejecutando:

service call alarm 3 s16 5d74fad

borró mi alarma. No puedo decir si esto funciona para otros o no. A mí me ha funcionado. La salida del comando es nebulosa en el mejor de los casos. Básicamente tuve que esperar al día siguiente. Una cosa que noté, sin embargo, fue que cuando ejecuté este comando, mi teléfono cambió a GMT (en lugar de la hora local). Basta con ir a la configuración de la hora de la fecha y activar / desactivar la hora automática de la luz del día y la hora automática de la fecha fija que.

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