1
我想將收件箱中的所有郵件存儲到SD卡中,稍後檢索並將其恢復到收件箱中。我已成功地對郵件進行備份並將其存儲到SD卡,但無法找出如何檢索它們和retore到Inbox.This是我使用採取短信的備份代碼:如何從sdcard恢復短信至收件箱?
private void backupSMS()
{
smsBuffer.clear();
Uri mSmsinboxQueryUri = Uri.parse("content://sms");
Cursor cursor1 = getContentResolver().query(
mSmsinboxQueryUri,
new String[] { "_id", "thread_id", "address", "person", "date",
"body", "type" }, null, null, null);
//startManagingCursor(cursor1);
String[] columns = new String[] { "_id", "thread_id", "address", "person", "date", "body",
"type" };
if (cursor1.getCount() > 0)
{
String count = Integer.toString(cursor1.getCount());
Log.d("Count",count);
while (cursor1.moveToNext())
{
String messageId = cursor1.getString(cursor1
.getColumnIndex(columns[0]));
String threadId = cursor1.getString(cursor1
.getColumnIndex(columns[1]));
String address = cursor1.getString(cursor1
.getColumnIndex(columns[2]));
String name = cursor1.getString(cursor1
.getColumnIndex(columns[3]));
String date = cursor1.getString(cursor1
.getColumnIndex(columns[4]));
String msg = cursor1.getString(cursor1
.getColumnIndex(columns[5]));
String type = cursor1.getString(cursor1
.getColumnIndex(columns[6]));
smsBuffer.add(messageId + ","+ threadId+ ","+ address + "," + name + "," + date + " ," + msg + " ,"
+ type);
}
generateCSVFileForSMS(smsBuffer);
}
}
private void generateCSVFileForSMS(ArrayList<String> list)
{
try
{
String storage_path = Environment.getExternalStorageDirectory().toString() + File.separator + "Velosys"+".csv";
FileWriter write = new FileWriter(storage_path);
write.append("messageId, threadId, Address, Name, Date, msg, type");
write.append('\n');
for (String s : list)
{
write.append(s);
write.append('\n');
}
write.flush();
write.close();
}
catch (NullPointerException e)
{
System.out.println("Nullpointer Exception "+e);
// e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
我搜索了很多,但沒能找到一種方法,從SdCard.Please幫助.csv文件恢復短信我提前感謝。
我正在尋找如何閱讀.csv文件內容的方式,然後將內容放到短信收件箱中。我想你誤解了這個問題。 – user1726619