En Twitter actualización del 25 de noviembre de 2013, piden permiso de recibir mensajes de texto (SMS) . ¿Alguien sabe qué es exactamente esto?
Respuestas
¿Demasiados anuncios?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.
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.
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.