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

How to read SMS data and Transfer it to the Document or CSV file

我应该使用 SMS 数据开发一个移动应用程序,想对收集的数据使用 Skip-Gram 和 Bow 算法。问题是,如何使用 Java 或 Java 脚本读取 SMS 数据并将其传输到 "document file"。有没有可以收集所有短信数据的图书馆或东西?

对不起,我是编程新手。

短信

Sample SMS

文档

"hey babe here's your first clue look at the nappa valley wine map what winery is at b10 madonna state good next clue what's my favorite band radiohead open the front door and look on the porch what's waiting for you flowers you won"

您需要获得短信许可,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/