2011-05-10 56 views
5

Tôi muốn hiển thị một số thông tin dưới dạng sms trong ứng dụng của mình. Nhưng SmsManager và BroadcastReciever không thể tạo tin nhắn và thông báo trên điện thoại.Làm cách nào để gửi sms giả cho chính tôi mà không cần sử dụng mạng di động?

Tôi làm cách nào để gửi tin nhắn giả cho chính mình? Bất kỳ ý tưởng, cách giải quyết hoặc bất kỳ lớp học cho nghiên cứu ...?

Cảm ơn.

Trả lời

5

chứng của khái niệm

danh sách cuộc gọi SMS

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

ĐỌC 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(); 

Viết 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"/> 

ISSUE Không có sự kiện nào sau đó do đó android không biết nếu có một số thông báo mới.

+0

Có thể bạn có thể thử một số getContext(). GetContentResolver(). NotifyChange (uri, null); Chỉ cần ý tưởng. – Mertuarez

+0

Yea chỉ xây dựng lớp học của riêng bạn để khởi chạy ứng dụng sms và hiển thị thông báo cho người dùng. –

+0

theo cách này có vấn đề. khi tôi mở một thông báo sms thực sự, ứng dụng sms hiển thị trạng thái "chưa đọc". nhưng nếu sms bị giả mạo. nó được đọc. – fazhang

1

Bạn có thể gửi SMS từ một phiên bản giả lập Android khác. Điều đó có thể được thực hiện thông qua điều khiển giả lập Xem trong Eclipse hoặc sử dụng Telnet.

+0

Hơn bạn. Bu Tôi muốn làm điều này với programmaticaly. Có cách nào để gửi lệnh telnet sms từ giao diện điều khiển Android bên trong theo liên kết của bạn? – AdemC

+0

Tôi nghĩ rằng bạn không thể gửi tin nhắn SMS đến Emulator từ chính nó, và tôi nghĩ rằng không có nhu cầu cho nó. –

Các vấn đề liên quan