La solución de beeshyams no me funcionó, pero pude modificarla y hacerla funcionar. El problema que encontré fue que el disparador de "llamada entrante" sólo ocurre una vez cuando se recibe la llamada por primera vez. esto significa que si se comprueba un booleano disparado por la llamada entrante, no se establecerá todavía.
Lo primero que hice fue averiguar qué formato necesitaba para el número de teléfono creando una macro muy sencilla:
trigger: call incoming -> contacts -> any number
action: logging -> log event -> call number
Revisé los registros y vi que el número era +12345678900
. (estoy en Estados Unidos)
A continuación he borrado esa macro y he hecho lo siguiente:
T: call incoming (+1234*)
A: set variable (areacode: True)
T: call incoming (non contact)
A: set variable (noncon: True)
vamos a utilizar las variables que se establecen como nuestro disparador para rechazar la llamada. estas variables parecían establecerse en un orden aleatorio/inconsistente, así que sólo hice dos disparadores, de esa manera no importaba cuál se estableció primero. esta es una solución muy janky, pero funciona.
T: macrodroid variable change (areacode = True)
A: call reject, set variable (areacode: False), set variable (noncon: False)
C: macrodroid variable (noncon = True)
T: macrodroid variable change (noncon = True)
A: call reject, set variable (areacode: False), set variable (noncon: False)
C: macrodroid variable (areacode = True)
Por último, necesitamos una forma de restablecer las variables si nuestras macros de bloqueo de llamadas no se han activado. la mejor solución que encontré fue borrarlas después de que se completara o perdiera una llamada.
T: call missed (any number), call ended (any number),
A: call set variable (areacode: False), set variable (noncon: False)
Estoy seguro de que probablemente haya una solución más elegante, pero esto al menos me funciona. (¡Hurra, no más llamadas fraudulentas a las 6 de la mañana!) por suerte hay exactamente 5 macros libres en la aplicación, y 5 en mi solución. si tienes varios códigos de área que necesitas bloquear, puedes ponerlos todos en una macro con un disparador separado para cada uno, creo. (no lo he probado)
todo este dolor podría resolverse si se pudiera hacer que un disparador fuera causado por dos condiciones que se cumplieran. eso significaría que sólo necesitaríamos una sola macro, pero por lo que veo, esto no es posible. desafortunadamente las restricciones no te permiten acceder a la información de la llamada entrante, así que eso tampoco funciona. tal vez haya una aplicación mejor.
2 votos
Esta no es una función que Android sea capaz de realizar por sí mismo... Es posible que pueda encontrar una aplicación de contactos o marcador de terceros que tenga esta capacidad, aunque no conozco ninguna con este tipo de granularidad.
0 votos
Tengo que averiguar cómo trabajar con los números de los móviles, pero creo que funcionará. Gracias.
0 votos
Bien. Gracias por aceptar. Afortunadamente Macrodroid sí tiene esta capacidad sin entrar a leer la lista de contactos, etc. Para los números de móvil, quizás tengas que tener en cuenta el esquema de numeración ya que difiere de operador a operador (al menos en mi país). Puedes añadir todo esto en la misma macro, ya que los triggers funcionan en OR lógico . Todo lo mejor : )
0 votos
Interesante - No estoy familiarizado con los esquemas numéricos que varían con operador. ¿Conoces alguna referencia que pueda consultar para tener una idea de ello?
0 votos
Para India . Es posible que tenga que buscar su país
0 votos
EE.UU. parece seguir los códigos geográficos