第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Android中讀取MMS數(shù)據(jù)?

如何在Android中讀取MMS數(shù)據(jù)?

炎炎設計 2019-07-09 17:55:23
如何在Android中讀取MMS數(shù)據(jù)?我想閱讀我在mmssms.db存儲MMS條目的位置;我使用的是游標,我想知道合適的URI;我使用的是“內容:/mms-SMS/會話”和列名“地址”(發(fā)送到)、“文本”或“主題”和“數(shù)據(jù)”列名的圖像。我已經(jīng)看到了mmssms.db和他們的部分表列。
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

獲得寄件人地址的方法對我無效。除了可能拋出異常和新字符串(.)之外,Long.parseLong語句不會執(zhí)行任何操作。

在我的設備上,光標計數(shù)是2或更多。第一個典型的“類型”為137,而其他的“類型”為151。我找不到文件記載的地方,但可以推斷出137是“from”,151是“to”。因此,如果我按原樣運行該方法,則不會得到異常,它將返回最后一行,這是一個收件人,在許多情況下僅是幾行中的一個。

另外,由于所有行都具有相同的msg_id,所以選擇不是必需的。不過,這并不傷人。

這樣我才能得到寄件人的地址:

public static String getMMSAddress(Context context, String id) {
    String addrSelection = "type=137 AND msg_id=" + id;
    String uriStr = MessageFormat.format("content://mms/{0}/addr", id);
    Uri uriAddress = Uri.parse(uriStr);
    String[] columns = { "address" };
    Cursor cursor = context.getContentResolver().query(uriAddress, columns,
            addrSelection, null, null);
    String address = "";
    String val;
    if (cursor.moveToFirst()) {
        do {
            val = cursor.getString(cursor.getColumnIndex("address"));
            if (val != null) {
                address = val;
                // Use the first one found if more than one
                break;
            }
        } while (cursor.moveToNext());
    }
    if (cursor != null) {
        cursor.close();
    }
    // return address.replaceAll("[^0-9]", "");
    return address;}

我并不關心它是否都是數(shù)字,但我加入了一種方法來消除數(shù)字以外的所有東西,作為注釋(如果需要的話)。它可以很容易地修改,以返回所有收件人,以及。

我猜這對他有用。如果異常發(fā)生在第一行,它將給出正確的答案。


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 869 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號