如何读取SMS数据并将其传输到文档或CSV文件

时间:2019-02-26 19:05:50

标签: javascript java android sms document

我应该使用SMS数据开发一个移动应用程序,想要对收集的数据使用Skip-Gram和Bow算法。问题是,如何使用Java或Javascript读取SMS数据并将其传输到“文档文件”。有没有可以收集所有SMS数据的库或东西?

对不起,我是编程新手。

短信

Sample SMS

文档

  

“嘿,宝贝,这是您在纳帕谷葡萄酒地图上的第一个线索   麦当娜在b10的酒庄是什么?   乐队无线电广播员打开前门,在门廊上看什么   等你花你赢了”

1 个答案:

答案 0 :(得分:0)

为此,您需要SMS权限android:name =“ android.permission.READ_SMS”

folderName收件箱或已发送

public List<Sms> getAllSms(String folderName) {
        List<Sms> lstSms = new ArrayList<Sms>();
        Sms objSms = new Sms();
        Uri message = Uri.parse("content://sms/"+folderName);
        ContentResolver cr = mActivity.getContentResolver();

        Cursor c = cr.query(message, null, null, null, null);
        mActivity.startManagingCursor(c);
        int totalSMS = c.getCount();

        if (c.moveToFirst()) {
            for (int i = 0; i < totalSMS; i++) {

                objSms = new Sms();
                objSms.setId(c.getString(c.getColumnIndexOrThrow("_id")));
                objSms.setAddress(c.getString(c
                        .getColumnIndexOrThrow("address")));
                objSms.setMsg(c.getString(c.getColumnIndexOrThrow("body")));
                objSms.setReadState(c.getString(c.getColumnIndex("read")));
                objSms.setTime(c.getString(c.getColumnIndexOrThrow("date")));

                lstSms.add(objSms);
                c.moveToNext();
            }
        }
        // else {
        // throw new RuntimeException("You have no SMS in " + folderName);
        // }
        c.close();

        return lstSms;
    }

要在具有SMS许可的Play商店中发布应用,您必须明确提及为什么需要此许可以获取更多信息https://www.xda-developers.com/google-play-developer-policy-call-log-sms/