2 votos

ReceiveSMS permiso de Twitter

En Twitter actualización del 25 de noviembre de 2013, piden permiso de recibir mensajes de texto (SMS) . ¿Alguien sabe qué es exactamente esto?

5voto

falstro Puntos 16545

Yo estaba preocupado acerca de esto y decidió descompilar la aplicación para averiguar lo que está haciendo. Twitter recibe mensajes SMS a través de un BroadcastReceiver en com.twitter.applib.cliente.SmsReceiver. Aquí es lo que el código se ve como después de la descompilación para Java con dex2jar y jd-gui.

public class SmsReceiver extends BroadcastReceiver
{
  private void a(Context paramContext, SmsMessage paramSmsMessage)
  {
    if (paramSmsMessage != null)
    {
      String str1 = paramSmsMessage.getMessageBody();
      String str2 = paramContext.getText(mb.sms_verification_text).toString();
      if (("40404".equals(paramSmsMessage.getOriginatingAddress())) && (str1.startsWith(str2)))
      {
        SharedPreferences localSharedPreferences = PreferenceManager.getDefaultSharedPreferences(paramContext);
        localSharedPreferences.edit().putString("device_registration_sms_text", str1).commit();
        String str3 = localSharedPreferences.getString("device_registration_normalized_phone_number", "");
        if ((!TextUtils.isEmpty(str3)) && (!TextUtils.isEmpty(str1)))
          a.a(paramContext).c(str3, str1);
      }
    }
  }

  public void onReceive(Context paramContext, Intent paramIntent)
  {
    Bundle localBundle = paramIntent.getExtras();
    if (localBundle != null)
    {
      Object[] arrayOfObject = (Object[])localBundle.get("pdus");
      int i = arrayOfObject.length;
      for (int j = 0; j < i; j++)
        a(paramContext, SmsMessage.createFromPdu((byte[])arrayOfObject[j]));
    }
  }
}

Ver ver aquí, que cuando recibe un mensaje de texto, la aplicación pasa el mensaje a un() y comprueba que se trata de twitter del número. A continuación, se escribe el contenido del mensaje compartido preferencias. Como Problemática sugerida, la aplicación sólo está la verificación de su número y no hacer nada malicioso. Aunque Twitter no está haciendo nada malicioso, habría sido agradable si se lo hubiera explicado por qué la aplicación necesita este permiso en la última actualización.

2voto

verix Puntos 332

Una aplicación como permisos puede decir el significado de los diferentes tipos de permisos.

Para recibir mensajes de texto (SMS):

Permite la aplicación para recibir y procesar mensajes SMS. Esto significa que la aplicación puede controlar o eliminar los mensajes enviados a su dispositivo sin mostrártelos.

1voto

Problematic Puntos 111

Como lo que he sido capaz de decir, no hay ninguna información oficial sobre lo que este permiso es para.

He visto esto en otra aplicación, en el último tiempo. Los Hangouts de Google app ganado recientemente el SMS permiso y la utiliza (además de mostrar su teléfono, mensajes SMS en la aplicación) para procesar el número de teléfono de la confirmación de los textos: los Hangouts, la aplicación procesa el mensaje SMS y comprueba tu número sin necesidad de entrar en el código (o incluso mostrando el mensaje SMS). Si tuviera que adivinar, yo asumiría la aplicación Twitter está haciendo algo similar, pero de nuevo, no hay ninguna palabra oficial sobre el propósito de esta.

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