2011-05-10 1 views
5

Я хочу показать некоторую информацию как sms в моем приложении. Но SmsManager и BroadcastReciever не могут создавать sms и уведомлять о самом телефоне.Как я могу отправить поддельные sms себе без использования мобильной сети?

Как я могу отправить поддельные sms себе программно? Любые идеи, обходные пути или любой класс для исследования ...?

Спасибо.

ответ

5

Доказательство КОНЦЕПЦИИ

Список вызовов SMS

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

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

Написать SMS

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

МАНИФЕСТ

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

ISSUE После этого нет события, поэтому андроид не знает, есть ли какое-то новое сообщение.

+0

Может быть, вы можете попробовать getContext(). GetContentResolver(). NotifyChange (uri, null); Просто идея. – Mertuarez

+0

Да, просто создайте свой собственный класс, чтобы запустить приложение sms, и отобразите уведомление пользователю. –

+0

этот способ имеет проблему. когда я открываю реальное уведомление sms, приложение sms показывает «непрочитанный» статус. но если sms подделан. он читается. – fazhang

1

Вы можете отправить СМС с другого экземпляра Android-эмулятора. Это можно сделать с помощью управления эмулятором View в Eclipse или с помощью Telnet.

+0

Чем вы. Бу, я хочу сделать это с программным обеспечением. Есть ли способ отправить команду telnet sms из консоли Android внутри вашей ссылки? – AdemC

+0

Я думаю, что вы не можете отправлять SMS-сообщения в Emulator из себя, и я думаю, что в этом нет необходимости. –

Смежные вопросы