2011-05-10 23 views

Odpowiedz

5

proof of concept

lista połączeń SMS

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

ZOBACZ 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(); 

Write SMS

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

MANIFEST

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

WYDANIE Po tym wydarzeniu nie ma żadnego zdarzenia, dlatego Android nie wie, czy jest jakaś nowa wiadomość.

+0

Możliwe, że możesz spróbować getContext(). GetContentResolver(). NotifyChange (uri, null); Po prostu pomysł. – Mertuarez

+0

Tak, po prostu zbuduj własną klasę, aby uruchomić aplikację sms i wyświetlić powiadomienie dla użytkownika. –

+0

w ten sposób ma problem. kiedy otwieram prawdziwe powiadomienie sms, aplikacja sms pokazuje stan "nieprzeczytany". ale jeśli sms jest sfałszowany. to jest przeczytane. – fazhang

1

Możesz wysyłać wiadomości SMS z innego wystąpienia aplikacji Android Emulator. Można to zrobić za pomocą kontrolki Emulator View in Eclipse lub using Telnet.

+0

Niż ty. Bu Chcę to zrobić programistycznie. Czy istnieje sposób, aby wysłać polecenie telnet sms z konsoli Android wewnątrz zgodnie z linkiem? – AdemC

+0

Myślę, że nie możesz wysyłać wiadomości SMS do Emulatora z siebie i myślę, że nie ma takiej potrzeby. –

Powiązane problemy