1
我已經實現了一個代碼,它以字符串格式從「已發送短信」中獲得第一個短信。從Android設備個別發送短信
我想從發件箱中的所有短信開始,從第一個開始。
我想將它們保存在SQLite數據庫中。
下面的代碼顯示了Toast中的第一個發送短信,但是我如何獲取所有發送的短信?
public class MainActivity extends Activity {
String address, name, date, msg, type;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn =(Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Uri mSmsinboxQueryUri = Uri.parse("content://sms/sent");
Cursor cursor1 = getContentResolver().query(mSmsinboxQueryUri,
new String[] { "_id", "thread_id", "address", "person", "date",
"body", "type" }, null, null, null);
startManagingCursor(cursor1);
String[] columns = new String[] { "address", "person", "date", "body","type" };
if (cursor1.getCount() > 0) {
String count = Integer.toString(cursor1.getCount());
//Log.e("Count",count);
System.out.println("Count:" + count);
while (cursor1.moveToNext()){
address = cursor1.getString(cursor1.getColumnIndex(columns[0]));
name = cursor1.getString(cursor1.getColumnIndex(columns[1]));
date = cursor1.getString(cursor1.getColumnIndex(columns[2]));
msg = cursor1.getString(cursor1.getColumnIndex(columns[3]));
type = cursor1.getString(cursor1.getColumnIndex(columns[4]));
}
}
Toast.makeText(getApplicationContext(), address + "\n" + name + "\n" + date + "\n" + msg + "\n" + type, Toast.LENGTH_LONG).show();
}
});
}
}
仍然只顯示按鈕單擊「發送框」中的第一個短信。我想去下一個。任何其他方法,我可以通過字符串逐個發送短信數據,以便我可以將它們添加到數據庫中? –
是的,你可以使用以下,但是你的方法也是正確的..所以它也應該工作.. http://stackoverflow.com/questions/19856338/using-new-telephony-content-provider-to-read-sms –