Foros del Web » Programando para Internet » Android »

Aplicación que envia sms por plantilla

Estas en el tema de Aplicación que envia sms por plantilla en el foro de Android en Foros del Web. Buenas, estoy tratando de enviar un simple SMS que obtiene el texto de lo que introducimos en pantalla a través de EditText. No entiendo porque ...
  #1 (permalink)  
Antiguo 12/11/2011, 10:59
 
Fecha de Ingreso: abril-2011
Mensajes: 83
Antigüedad: 13 años
Puntos: 8
Aplicación que envia sms por plantilla

Buenas, estoy tratando de enviar un simple SMS que obtiene el texto de lo que introducimos en pantalla a través de EditText.
No entiendo porque narices no carga como texto, lo que obtengo de los EditText...
¿Alguien se anima a ver si entiende por que falla?

Código Java:
Ver original
  1. package juan.telefonia.practicas;
  2.  
  3. import android.app.Activity;
  4. import android.app.PendingIntent;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.telephony.SmsManager;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.TextView;
  12. import android.widget.Toast;
  13.  
  14. public class TlephonyActivity extends Activity {
  15.     /** Called when the activity is first created. */
  16.    
  17.     @Override
  18.     public void onCreate(Bundle savedInstanceState) {
  19.         super.onCreate(savedInstanceState);
  20.         setContentView(R.layout.main);
  21.        
  22.         // Botones principales
  23.         Button botonEntrada = (Button)findViewById(R.id.botonEntrada);
  24.         Button botonSalida = (Button)findViewById(R.id.botonSalida);
  25.        
  26.         // Texto introducido en EditText
  27.         final EditText numCaso = (EditText)findViewById(R.id.numCaso);
  28.         final EditText emplazamiento = (EditText)findViewById(R.id.emplazamiento);
  29.         final EditText nomTecnico = (EditText)findViewById(R.id.nomTecnico);
  30.         final EditText empresa = (EditText)findViewById(R.id.empresa);
  31.         final EditText trabajo = (EditText)findViewById(R.id.trabajo);
  32.        
  33.         // sms producido por texto introducido
  34.         final String textoNumCaso = numCaso.getText().toString();
  35.         final String textoEmplazamiento = emplazamiento.getText().toString();
  36.         final String textoNomTecnico = nomTecnico.getText().toString();
  37.         final String textoEmpresa = empresa.getText().toString();
  38.         final String textoTrabajo = trabajo.getText().toString();
  39.        
  40.         final String sms = textoNumCaso + "." + textoEmplazamiento + "." + textoNomTecnico + "." + textoEmpresa + ".LOC:IN-" + textoTrabajo + ".";
  41.         final TextView textoSmsCompleto = (TextView)findViewById(R.id.textoSmsCompleto);
  42.        
  43.         // Teléfono al que enviamos SMS
  44.         final String gnocPhoneNumber = "605097654";
  45.        
  46.         // Envio del sms
  47.         final android.telephony.SmsManager envioSms = SmsManager.getDefault();
  48.         String SENT = "SMS_SENT";
  49.         String DELIVERED = "SMS_DELIVERED";
  50.         final PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
  51.         final PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
  52.                    
  53.         // Lógica boton de Entrada
  54.         botonEntrada.setOnClickListener(new View.OnClickListener() {
  55.            
  56.             public void onClick(View v) {
  57.                 // TODO Auto-generated method stub
  58.                
  59.                 String smsEntrada = "INI." + sms;
  60.                 envioSms.sendTextMessage(gnocPhoneNumber, null, smsEntrada, sentPI, deliveredPI);
  61.                
  62.                 Toast.makeText(getApplicationContext(), smsEntrada, Toast.LENGTH_LONG).show();
  63.                
  64.                 textoSmsCompleto.setText(smsEntrada);
  65.             }
  66.         });
  67.      
  68.         // Lógica boton de salida
  69.         botonSalida.setOnClickListener(new View.OnClickListener() {
  70.            
  71.             public void onClick(View v) {
  72.                 // TODO Auto-generated method stub
  73.                
  74.                 String smsSalida = "FIN." + sms;
  75.                 envioSms.sendTextMessage(gnocPhoneNumber, null, smsSalida, sentPI, deliveredPI);
  76.                
  77.                 Toast.makeText(getApplicationContext(), smsSalida, Toast.LENGTH_LONG).show();
  78.                            
  79.                 textoSmsCompleto.setText(smsSalida);
  80.             }
  81.         });
  82.        
  83.        
  84.     }
  85. }

Código XML:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:layout_width="fill_parent"
  4.    android:layout_height="fill_parent"
  5.    android:orientation="vertical" >
  6.  
  7.     <TextView
  8.        android:id="@+id/textView1"
  9.        android:layout_width="wrap_content"
  10.        android:layout_height="wrap_content"
  11.        android:text="Número de caso:" />
  12.  
  13.     <EditText
  14.        android:id="@+id/numCaso"
  15.        android:layout_width="match_parent"
  16.        android:layout_height="wrap_content" >
  17.     </EditText>
  18.  
  19.     <TextView
  20.        android:id="@+id/textView4"
  21.        android:layout_width="wrap_content"
  22.        android:layout_height="wrap_content"
  23.        android:text="Emplazamiento:" />
  24.  
  25.     <EditText
  26.        android:id="@+id/emplazamiento"
  27.        android:layout_width="match_parent"
  28.        android:layout_height="wrap_content" >
  29.     </EditText>
  30.  
  31.     <TextView
  32.        android:id="@+id/textView2"
  33.        android:layout_width="wrap_content"
  34.        android:layout_height="wrap_content"
  35.        android:text="Nombre del técnico" />
  36.  
  37.     <EditText
  38.        android:id="@+id/nomTecnico"
  39.        android:layout_width="match_parent"
  40.        android:layout_height="wrap_content" />
  41.  
  42.     <TextView
  43.        android:id="@+id/textView3"
  44.        android:layout_width="wrap_content"
  45.        android:layout_height="wrap_content"
  46.        android:text="Empresa:" />
  47.  
  48.     <EditText
  49.        android:id="@+id/empresa"
  50.        android:layout_width="match_parent"
  51.        android:layout_height="wrap_content" />
  52.  
  53.     <TextView
  54.        android:id="@+id/textView5"
  55.        android:layout_width="wrap_content"
  56.        android:layout_height="wrap_content"
  57.        android:text="Trabajo a realizar:" />
  58.  
  59.     <EditText
  60.        android:id="@+id/trabajo"
  61.        android:layout_width="match_parent"
  62.        android:layout_height="wrap_content" >
  63.     </EditText>
  64.  
  65.     <Button
  66.        android:id="@+id/botonEntrada"
  67.        android:layout_width="match_parent"
  68.        android:layout_height="wrap_content"
  69.        android:text="ENTRADA" />
  70.  
  71.  
  72.     <Button
  73.        android:id="@+id/botonSalida"
  74.        android:layout_width="match_parent"
  75.        android:layout_height="wrap_content"
  76.        android:text="SALIDA" />
  77.  
  78.     <TextView
  79.        android:id="@+id/textoSmsCompleto"
  80.        android:layout_width="wrap_content"
  81.        android:layout_height="wrap_content"
  82.        android:textAppearance="?android:attr/textAppearanceLarge" />
  83.  
  84. </LinearLayout>

Gracias, y un saludo!

Última edición por redtitle; 12/11/2011 a las 15:29
  #2 (permalink)  
Antiguo 13/11/2011, 06:45
 
Fecha de Ingreso: abril-2011
Mensajes: 83
Antigüedad: 13 años
Puntos: 8
Respuesta: Aplicación que envia sms por plantilla

Vale, voy aclarando algo, pero sigo teniendo una duda...

¿Porque no me cambia el valor de las variables cuando pulso el boton?

Código Java:
Ver original
  1. package juan.pruebas.accesognoc;
  2.  
  3. import android.app.Activity;
  4. import android.app.PendingIntent;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.telephony.SmsManager;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.Toast;
  12.  
  13. public class AccesoGnocActivity extends Activity {
  14.     /** Called when the activity is first created. */
  15.    
  16.     final String telefonoGnoc ="605097654";
  17.    
  18.     EditText numCaso, emplazamiento, nomTec, empresa, trabRealizar;
  19.     String var_numCaso, var_emplazamiento, var_nomTec, sms, var_empresa,
  20.         var_trabRealizar, entradaSalida, SENT, DELIVERED;
  21.     SmsManager enviarSms;
  22.     PendingIntent sentPI;
  23.     PendingIntent deliveredPI;
  24.     Button botonEntrada, botonSalida;
  25.        
  26.     @Override
  27.     public void onCreate(Bundle savedInstanceState) {
  28.         super.onCreate(savedInstanceState);
  29.         setContentView(R.layout.main);
  30.        
  31.         numCaso = (EditText)findViewById(R.id.numCaso);
  32.         emplazamiento = (EditText)findViewById(R.id.emplazamiento);
  33.         nomTec = (EditText)findViewById(R.id.nomTec);
  34.         empresa = (EditText)findViewById(R.id.empresa);
  35.         trabRealizar = (EditText)findViewById(R.id.trabRealizar);
  36.        
  37.         var_numCaso = numCaso.getText().toString();
  38.         var_emplazamiento = emplazamiento.getText().toString();
  39.         var_nomTec = nomTec.getText().toString();
  40.         var_empresa = empresa.getText().toString();
  41.         var_trabRealizar = trabRealizar.getText().toString();
  42.        
  43.         final String sms = entradaSalida + "." + var_numCaso + "." + var_emplazamiento
  44.                 + "." + var_nomTec + "." + var_empresa + ".LOC:IN-" + var_trabRealizar;
  45.                
  46.         botonEntrada = (Button)findViewById(R.id.botonEntrada);
  47.         botonSalida = (Button)findViewById(R.id.botonSalida);
  48.                
  49.         enviarSms = SmsManager.getDefault();
  50.         SENT = "SMS_SENT";
  51.         DELIVERED = "SMS_DELIVERED";
  52.         sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
  53.         deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
  54.        
  55.         botonEntrada.setOnClickListener(new View.OnClickListener() {
  56.            
  57.             public void onClick(View v) {
  58.                 // TODO Auto-generated method stub
  59.                 entradaSalida = "INI.";
  60.                
  61.                 //enviarSms.sendTextMessage(telefonoGnoc, null, sms, sentPI, deliveredPI);
  62.                
  63.                 Toast.makeText(getApplicationContext(), sms, Toast.LENGTH_LONG).show();
  64.             }
  65.         });
  66.        
  67.         botonSalida.setOnClickListener(new View.OnClickListener() {
  68.            
  69.             public void onClick(View v) {
  70.                 // TODO Auto-generated method stub
  71.                 entradaSalida = "FIN.";
  72.                
  73.                 //enviarSms.sendTextMessage(telefonoGnoc, null, sms, sentPI, deliveredPI);
  74.                
  75.                 Toast.makeText(getApplicationContext(), sms, Toast.LENGTH_LONG).show();
  76.             }
  77.         });
  78.     }
  79. }

Un saludo.

Última edición por redtitle; 13/11/2011 a las 15:10
  #3 (permalink)  
Antiguo 14/11/2011, 04:41
 
Fecha de Ingreso: abril-2011
Mensajes: 83
Antigüedad: 13 años
Puntos: 8
Respuesta: Aplicación que envia sms por plantilla

Solucionado!

Código Java:
Ver original
  1. package juan.pruebas.accesognoc;
  2.  
  3. import android.app.Activity;
  4. import android.app.PendingIntent;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.telephony.SmsManager;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.Toast;
  12.  
  13. public class AccesoGnocActivity extends Activity {
  14.     /** Called when the activity is first created. */
  15.    
  16.     final String telefonoGnoc ="605097654";
  17.    
  18.     EditText txnumCaso, txemplazamiento, txnomTec, txempresa, txtrabRealizar;
  19.     String var_numCaso, var_emplazamiento, var_nomTec, var_empresa,
  20.         var_trabRealizar, entradaSalida, SENT, DELIVERED;
  21.     String sms = "";
  22.     SmsManager enviarSms;
  23.     PendingIntent sentPI;
  24.     PendingIntent deliveredPI;
  25.     Button botonEntrada, botonSalida;
  26.        
  27.     @Override
  28.     public void onCreate(Bundle savedInstanceState) {
  29.         super.onCreate(savedInstanceState);
  30.         setContentView(R.layout.main);
  31.        
  32.         txnumCaso = (EditText)findViewById(R.id.numCaso);
  33.         txemplazamiento = (EditText)findViewById(R.id.emplazamiento);
  34.         txnomTec = (EditText)findViewById(R.id.nomTec);
  35.         txempresa = (EditText)findViewById(R.id.empresa);
  36.         txtrabRealizar = (EditText)findViewById(R.id.trabRealizar);
  37.                        
  38.         botonEntrada = (Button)findViewById(R.id.botonEntrada);
  39.         botonSalida = (Button)findViewById(R.id.botonSalida);
  40.                
  41.         enviarSms = SmsManager.getDefault();
  42.         SENT = "SMS_SENT";
  43.         DELIVERED = "SMS_DELIVERED";
  44.         sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
  45.         deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
  46.        
  47.        
  48.        
  49.         botonEntrada.setOnClickListener(new View.OnClickListener() {
  50.            
  51.             public void onClick(View v) {
  52.                 // TODO Auto-generated method stub
  53.  
  54.                 datosMensaje();
  55.                
  56.                 entradaSalida = "INI.";
  57.                
  58.                 sms = entradaSalida + var_numCaso + "." + var_emplazamiento
  59.                         + "." + var_nomTec + "." + var_empresa + ".LOC:IN-" + var_trabRealizar + ".";
  60.                
  61.                 enviarSms.sendTextMessage(telefonoGnoc, null, sms, sentPI, deliveredPI);
  62.                
  63.                 Toast.makeText(getApplicationContext(), sms, Toast.LENGTH_LONG).show();
  64.             }
  65.         });
  66.        
  67.         botonSalida.setOnClickListener(new View.OnClickListener() {
  68.            
  69.             public void onClick(View v) {
  70.                 // TODO Auto-generated method stub
  71.  
  72.                 datosMensaje();
  73.                
  74.                 entradaSalida = "FIN.";
  75.                
  76.                 sms = entradaSalida + var_numCaso + "." + var_emplazamiento
  77.                         + "." + var_nomTec + "." + var_empresa + ".LOC:IN-" + var_trabRealizar + ".";
  78.                
  79.                 enviarSms.sendTextMessage(telefonoGnoc, null, sms, sentPI, deliveredPI);
  80.                
  81.                 Toast.makeText(getApplicationContext(), sms, Toast.LENGTH_LONG).show();
  82.             }
  83.         });
  84.     }
  85.    
  86.     public void datosMensaje(){
  87.         var_numCaso = txnumCaso.getText().toString();
  88.         var_emplazamiento = txemplazamiento.getText().toString();
  89.         var_nomTec = txnomTec.getText().toString();
  90.         var_empresa = txempresa.getText().toString();
  91.         var_trabRealizar = txtrabRealizar.getText().toString();
  92.     }
  93. }

Última edición por redtitle; 14/11/2011 a las 15:14
  #4 (permalink)  
Antiguo 20/02/2013, 18:58
 
Fecha de Ingreso: febrero-2013
Mensajes: 1
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Aplicación que envia sms por plantilla

Hola como te va..soy nuevo en este foro y necesito que me des una mano con esta app que me puede orientar bastante en lo que busco..enviar un sms en base al completado de un formulario y luego enviarlo a un numero fijo.
Al copiarel codigo me dice
Multiple markers at this line"
-numCaso can not be resolvedor is not a field
-main can not be resolved or is not a field "
Talvez no estoy referenciando bien o me falta algo.

Desde ya muchas gracias.
  #5 (permalink)  
Antiguo 22/02/2013, 05:20
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 10 meses
Puntos: 361
Respuesta: Aplicación que envia sms por plantilla

Hola:

Está claro que las variables a que haces referencia numCaso y main no existen. Si has copiado/pegado el código tal cual es lógico que debes revisar esas variables.

Saludos.


Etiquetas: envia, pantalla, plantilla, sms, todo, apps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:20.