2010-11-20 8 views
3

"content:// mms"コンテンツリゾルバとmmsデータベースを取得しています。番号、送信/受信、ボディと添付ファイルの詳細を取得するには?アンドロイドのMMSデータベースから送受信されたmms番号、本文、添付ファイルの詳細...どうすればいいですか?

+0

"content:// mms"コンテンツリゾルバとmmsデータベースを取得しています。 " - それはAndroidの一部ではありません。これは、特定のAndroid搭載端末に搭載されている場合と搭載されていない場合があります。さらに、文書化されておらず、サポートされていないため、いつでも削除または変更することができます。 – CommonsWare

+0

次に、アンドロイドでsmsとmmsデータにアクセスする方法は? –

+0

私のアプリケーションにはすべてのmmsとsmsの詳細が必要です –

答えて

0

このリンクは、実際に私をたくさん助けた:

この記事をお試しください:How to Read MMS Data in Android?

希望これはあなたに少しのに役立ちます。.. :)

私もこのコードを使って、いくつかの情報を取得しようとしました:

private String getMmsText(String id) { 
     Uri partURI = Uri.parse("content://mms/part/" + id); 
     InputStream is = null; 
     StringBuilder sb = new StringBuilder(); 
     try { 
      is = getContentResolver().openInputStream(partURI); 
      if (is != null) { 
       InputStreamReader isr = new InputStreamReader(is, "UTF-8"); 
       BufferedReader reader = new BufferedReader(isr); 
       String temp = reader.readLine(); 
       while (temp != null) { 
        sb.append(temp); 
        temp = reader.readLine(); 
       } 
      } 
     } catch (IOException e) { 
     } finally { 
      if (is != null) { 
       try { 
        is.close(); 
       } catch (IOException e) { 
       } 
      } 
     } 
     return sb.toString(); 
    } 

// Main Text 
     Cursor cursor = getContentResolver().query(uri, null, selectionPart, 
       null, null); 
     if (cursor.moveToFirst()) { 
      do { 
       String partId = cursor.getString(cursor.getColumnIndex("_id")); 
       String type = cursor.getString(cursor.getColumnIndex("ct")); 
       if ("text/plain".equals(type)) { 
        String data = cursor.getString(cursor 
          .getColumnIndex("_data")); 

        if (data != null) { 
         // implementation of this method below 
         body = getMmsText(partId); 
        } else { 
         body = cursor.getString(cursor.getColumnIndex("text")); 
        } 
       } 
      } while (cursor.moveToNext()); 

     } 
     cursor.close(); 
関連する問題