从SIM卡获取短信

时间:2010-09-19 16:37:18

标签: android sms

我想保存我旧三星SGH-D500上的短信。由于它的软件没有节省导出邮件的时间,我将邮件复制到SIM卡并使用以下代码在Android上备份:

    Cursor c = getContentResolver().query(Uri.parse("content://sms"), null, null, null, null);
    startManagingCursor(c);
    String text = "";
    for(String name : c.getColumnNames()){
        text += name+"\t";
    }
    text += "\n";
    while(c.moveToNext()){
        for(int i=0; i<c.getColumnCount(); i++){
            text += c.getString(i)+"\t";
        }
        text += "\n";
    }
    Log.d("sms", text);
    File root = Environment.getExternalStorageDirectory();
    if(root.canWrite()){
        File export = new File(root, "sms.txt");
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter(export));
            bw.write(text);
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

第一个问题是它只能获取手机上的消息。所以我必须先将每封邮件(没有全部复制)复制到手机上 第二个问题是Android甚至无法识别我在SIM卡上发送的消息(SIM卡已满,但Android没有显示任何内容)。

我调查了Sim Toolkit,但并不知道从哪里开始。 是不是只有“内容:// icc / adn”(联系人)只是为了短信?

感谢
拉尔夫

1 个答案:

答案 0 :(得分:0)

很久以前我和sms api一起玩过。我没有检索所有邮件的代码,但我找到了一些代码,这些代码在发送的邮件列表中添加了一条消息

ContentValues values = new ContentValues(); values.put("address", number); values.put("body", message); getContentResolver().insert(Uri.parse("content://sms/sent"),values);

从内存中我认为内容:// sms / inbox检索收件箱中的所有邮件。我不能评论是否在手机和SIM卡上都能收到消息。我使用以下软件通过手机从我的计算机http://www.fjsoft.at/en/发送消息。它还显示所有文本消息,并允许您导出它们。我不确定这是手机或SIM卡上的消息还是两者。但它值得一试,是一款不错的软件。