2011-05-10 26 views

回答

5

概念證明

通話短信清單

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

讀取短信

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

寫短信

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 之後沒有事件,因此如果有一些新的消息,android不知道。

+0

可能是你可以嘗試一些getContext()。getContentResolver()。notifyChange(uri,null); 只是想法。 – Mertuarez 2011-12-07 14:01:09

+0

是啊,只是建立你自己的類,啓動短信應用程序,並顯示通知給用戶。 – 2012-10-09 07:03:08

+0

這種方式有問題。當我打開一個真正的短信通知短信應用程序顯示「未讀」狀態。但是如果短信是僞造的。它被讀取。 – fazhang 2013-04-11 02:19:42

1

您可以從其他Android模擬器實例發送短信。這可以通過Eclipse中的Emulator控件視圖或使用Telnet來完成。

+0

比你。布我想用programmaticaly做這個。根據你的鏈接,有沒有什麼辦法從android控制檯發送telnet sms命令? – AdemC 2011-05-10 20:53:39

+0

我認爲你不能從自己發送短信給模擬器,我認爲它不需要它。 – 2011-05-10 20:54:57

相關問題