Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 11/09/17, 19:54:15
Array

[xs_avatar]
JaviLukiOficial JaviLukiOficial no está en línea
Usuario poco activo
 
Fecha de registro: mar 2017
Mensajes: 10
Modelo de smartphone: SM-J530F
Tu operador: MasMóvil
Eliminar TouchLockOverlay (Bloqueo pantalla) en una llamada saliente

Hola a todos, estoy preparando un smartphone para mi abuelo y como entenderéis, necesita un smartphone facil de manejar y con las funciones necesarias para que se adapte a lo que necesita.

En concreto es un Samsung Galaxy Young 2.
Al realizar una llamada aparece lo siguiente:


Debido a que el móvil no tiene sensor de proximidad, la interfaz de llamada activa automáticamente un RelativeLayout en el que aparece este maldito candadito con el texto de "Toque dos veces para desbloquear", con el fin de evitar tocar los botones de colgar, altavoz, etc. con la mejilla o el oido al ponernos el teléfono a los susodichos para llamar.

El problema: Mi abuelo no quiere que aparezca este candado, el texto y el fondo en negro, ya que para colgar una llamada le cuesta tanto como si tuviera que remolcar un edificio. Y para colmo, si consigue desbloquearlo, la aplicación hace que vuelva a aparecer en unos pocos segundos. En fin, que es peor el remedio que la enfermedad (para que nos entendamos).

El caso es que he encontrado el ID del botón con una función que tiene la aplicación AutoInput. El ID es: "com.android.incallui:id/touchLockOverlay", con lo cual he podido averiguar el ID del paquete (com.android.incallui) y el del botón del bloqueo de candado (touchLockOverlay).

Bien, resulta que he descompilado la apk de la Interfaz de llamada (InCallUI_ESS.apk), y después de buscar mucho dentro de la APK, he encontrado el trozo de código XML relacionado con este candado en "res/layout/incall_screen.xml".

Os dejo aquí el código:
Código:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/main" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:id="@id/in_call_and_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <FrameLayout android:id="@id/in_call_card_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/conference_manager_container" android:paddingTop="74.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/in_call_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/end_call_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/dialpad_container" android:layout_width="fill_parent" android:layout_height="wrap_content" />
      <RelativeLayout android:id="@id/touchLockOverlay" android:background="#cc000000" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="fill_parent" android:layout_height="fill_parent">
            <ImageView android:gravity="center" android:id="@id/touchLockIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/touch_lock_icon_marginTop" android:src="@drawable/call_unlock_icon" android:layout_centerHorizontal="true" />
            <TextView android:textAppearance="?android:textAppearanceLarge" android:textSize="17.0dip" android:typeface="sans" android:gravity="center" android:id="@id/touchLockIconText" android:paddingTop="@dimen/touch_lock_text_paddingTop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/touchLockText" android:singleLine="true" android:shadowColor="#99000000" android:shadowDy="1.0" android:shadowRadius="1.0" android:layout_below="@id/touchLockIcon" android:layout_centerHorizontal="true" />
        </RelativeLayout>
    </FrameLayout>
    <FrameLayout android:gravity="top" android:layout_gravity="bottom|center" android:id="@id/answer_widget_container" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" />
</FrameLayout>
Si os dirigís a la parte donde pone RelativeLayout que he dejado en NEGRITA CURSIVA veréis que hay un trozo que dice ImageView (el candado) y TextView (el texto debajo del mismo). Bien, lo cierto es que conseguido modificar ambos ya que en el código se indica dónde está el archivo de imagen y el String de texto respectivamente:


Con lo cual no queda duda de que aquí está la parte que me gustaría quitar. Pero ahora hay otro problema: he probado a quitar todo el RelativeLayout con el fin de ver si se quita el candado, pero lo único que consigo es la app se crashee ("InCallUI se ha detenido")


Así que la pregunta es ¿cómo quitar el Bloqueo de Pantalla y qué parte del código hay que quitar (si es que hay que quitar) para evitar que la app crashee y se detenga?

Muchas gracias!
Responder Con Cita


  #2  
Viejo 11/09/17, 20:12:16
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Es muy probable que la aplicación explote porque quiere buscar el elemento y no lo encuentra, así que puedes hacer 2 cosas:

1) Poner el elemento el primero, por delante del resto de FrameLayout, así los demás siempre se pintarán por encima.

2) Establecerle un Width y un Height de 0px.

Lo que no se es si tendrá más código ligado, del tipo que si tienes que desbloquear el resto de botones no funcionen, pero imagino que no.

Suerte.
Responder Con Cita
  #3  
Viejo 11/09/17, 20:38:41
Array

[xs_avatar]
JaviLukiOficial JaviLukiOficial no está en línea
Usuario poco activo
 
Fecha de registro: mar 2017
Mensajes: 10
Modelo de smartphone: SM-J530F
Tu operador: MasMóvil
Muchas gracias Kriogen, con la primera forma no me funcionó (no sé si es que no lo hice bien). Pero con la segunda si, muchas gracias!!!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 15:17:52 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /