2012-07-09 51 views
0

我正在使用2.1 platform.Trying從模擬器中檢索所有SMS。沒有編譯錯誤,沒有Logcat錯誤在我的code.I包括清單文件中的ReadSMS的權限。當我運行代碼在ListView中沒有顯示。在我的XML文件中只有一個ListView。在該ListView上,我試圖從模擬器中顯示所有格式的SMS(Number:Sms Body)。短信檢索不工作?

代碼

public class SMSActivity extends Activity { 
/** Called when the activity is first created. */ 
    ListView lview; 
    String Body = "" ; 
    int Number; 
    ArrayList<String> smslist=new ArrayList<String>(); 
    ArrayAdapter<String> itemAdapter; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    lview =(ListView)findViewById(R.id.lv); 
    itemAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,smslist); 
    lview.setAdapter(itemAdapter); 

    ContentResolver cr = getContentResolver(); 
    Cursor c = cr.query(Uri.parse("content://sms/"), new String[] { "_id", "address", "date", "body","read" },"_id = "+null, null, null); 

    while(c.moveToNext()){ 

    Number = c.getInt(c.getColumnIndexOrThrow("address")); 

    Body = c.getString(c.getColumnIndexOrThrow("body")).toString(); 

    smslist.add(Number + "\n" + Body); 
    } 
    itemAdapter.notifyDataSetChanged(); 
    c.close(); 
} 
} 

如何解決這個問題呢?

+0

查詢列名看到這個..:http://android10.org/index.php/articlesfullapplications/241-sms-messaging-in-android-send - 和 - 接收和http://stackoverflow.com/a/11356430/1168654它可以幫助你。 – 2012-07-09 12:52:46

+0

這個網站只是關於發送和檢索之間的模擬器短信.....檢查我的代碼...請 – Hari 2012-07-09 12:55:54

+0

嘿,你忘了第二個鏈接我過去它在這裏:http://stackoverflow.com/a/11356430/1168654 – 2012-07-09 12:57:35

回答

1

你正在做的錯誤是你剛纔提的是,你要讀短信,但你忘了說 你需要them.eg從哪個文件夾從收件箱,發件箱等。

如果你需要閱讀短信從收件箱使用以下內容。

Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null); 

您也可以使用

for (int i = 0; i < cursor.getColumnCount(); i++) { 

    Log.i("info", cursor.getColumnName(i)); 
} 
+0

感謝Vipul ...我只更改了光標,它正常工作,我需要知道下面的for循環..我們在這裏使用它的目的是什麼? – Hari 2012-07-09 13:02:34