Autore Topic: Uri sms per thread  (Letto 1256 volte)

Offline riddick86

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic by Google
  • Sistema operativo:
    Mac OS X Snow Leopard
Uri sms per thread
« il: 11 Aprile 2010, 11:04:07 CEST »
0
Qualcuno ha mai provato, o sa se esiste un uri del content provider degli sms per puntare agli stessi ricevuti per thread?
ho provato:
content://sms/
content://sms/inbox/
e puntanto alla stessa risorsa cioè il db degli sms.
Se analizzo il file smsmms.db noto che c'è anche una tabella "threads" che contiente appunto gli sms per thread.
Il problema e che non so come puntarci.

Offline .zero

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    N/A
  • Sistema operativo:
    Archlinux, Windows 7
Re:Uri sms per thread
« Risposta #1 il: 04 Maggio 2010, 09:39:06 CEST »
0
Non esiste una API documentata per accedere agli SMS. Vedi anche: http://code.google.com/p/android/issues/detail?id=914. Questo è un gran grattacapo, per la ragione che prima o poi Google potrebbe impedire ad ogni
applicazione di accedere al database degli SMS (l'uso di API non documentate non è consigliabile, IMHO) ed ogni applicazione
che usasse la funzionalità finirebbe per non poterla più toccare.

Puoi provare ad usare anche content://sms/conversations, ma in assenza di una API l'uri potrebbe cambiare anche domani
e la tua applicazione fallire miseramente.  :-(
"Programmare" is not equal to "scrivere codice" || The sky is the limit... on an ideal, not-existent calculator.

Offline riddick86

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic by Google
  • Sistema operativo:
    Mac OS X Snow Leopard
Re:Uri sms per thread
« Risposta #2 il: 04 Maggio 2010, 22:47:08 CEST »
0
Non si posso eseguire query direttamente su content://sms/conversations.
Si può accedere alle conversazione usando il numero di thread.
Per es.
content://sms/conversation/1

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Uri sms per thread
« Risposta #3 il: 07 Maggio 2010, 15:50:12 CEST »
0
Codice (Java): [Seleziona]
public static final Uri MMS_SMS_CONTENT_URI                     = Uri.parse( "content://mms-sms/" );
public static final Uri CONVERSATION_CONTENT_URI        = Uri.withAppendedPath( MMS_SMS_CONTENT_URI, "conversations" );

Codice (Java): [Seleziona]
Cursor cursor = context.getContentResolver().query( CONVERSATION_CONTENT_URI, null, null, null, "date desc" );
non mi risulta sia documentata la struttura e la valenza dei vari campi, puoi comunque cercare di interpretarlo tu stesso dumpando il risultato:
Codice (Java): [Seleziona]
        private static void dumpCursor ( Cursor cursor ) {
                cursor.moveToFirst();
                int i = 0;
                String[] columns = cursor.getColumnNames();
                do {

                        for ( String c_name : columns ) {
                                Log.d( "PhoneSmsUility " + i, c_name + ": " + cursor.getString( cursor.getColumnIndex( c_name ) ) );
                        }

                        i++;
                }
                while ( cursor.moveToNext() );
        }