2011-05-10 10 views

Respuesta

5

prueba de concepto

lista de llamadas SMS

Intent intent = new Intent("android.intent.action.MAIN"); 
     intent.setComponent(
      new ComponentName("com.android.mms","com.android.mms.ui.ConversationList")); 
     startActivity(intent); 

LEER SMS

cursor c= getContentResolver().query(uri, null, null ,null,null); 
     startManagingCursor(c); 
     c.moveToFirst(); 

      String body = c.getString(c.getColumnIndexOrThrow("body")).toString(); 
      String number = c.getString(c.getColumnIndexOrThrow("address")).toString(); 

     c.close(); 

     Toast.makeText(getApplicationContext(), number, Toast.LENGTH_LONG).show(); 

Escribir SMS

ContentValues values = new ContentValues(); 
     values.put("address", "SENDER"); 
     values.put("body", "foo bar"); 
     getContentResolver().insert(Uri.parse("content://sms/inbox"), values); 

MANIFIESTO

<uses-permission android:name="android.permission.WRITE_SMS"/> 
<uses-permission android:name="android.permission.READ_SMS"/> 

NÚMERO No hay ningún evento después de eso, por lo tanto, Android no sabe si hay algún mensaje nuevo.

+0

Puede ser que puedas probar getContext(). GetContentResolver(). NotifyChange (uri, null); Solo idea. – Mertuarez

+0

Solo crea tu propia clase para iniciar la aplicación de sms y muestra la notificación al usuario. –

+0

de esta manera tiene un problema. cuando abro una notificación de SMS real, la aplicación de sms muestra el estado "no leído". pero si el sms es falso es leído. – fazhang

1

Puede enviar SMS desde otra instancia de Android Emulator. Eso podría hacerse a través de la vista de control del emulador en Eclipse o usando Telnet.

+0

Than you. Bu, quiero hacer esto con programmaticaly. ¿Hay alguna manera de enviar el comando telnet sms desde la consola de Android dentro de acuerdo con su enlace? – AdemC

+0

Creo que no puede enviar SMS a Emulator desde sí mismo, y creo que no es necesario. –

Cuestiones relacionadas