W mojej aplikacji muszę wysłać zapytanie zarówno do wiadomości SMS, jak i do dziennika MMS, aby uzyskać historię wszystkich wiadomości przychodzących i wychodzących. Ten kod pracował cudownie SMS:Jak wysłać zapytanie do loga MMS w Androidzie
Cursor c = cr.query(Uri.parse("content://sms"), null, null, null, null);
Ale gdy próbuję następujące uzyskać zupełnie inne wyniki:
Cursor c = cr.query(Uri.parse("content://mms"), null, null, null, null);
Zapytanie SMS zwraca dane, które zawiera adres wiadomość (numer telefonu), kontakt nazwa, temat wiadomości, treść wiadomości, itp. To samo zapytanie dla MMS zwraca grupę zer lub pól wartości liczbowych, których nie mogę w żaden sposób zrozumieć. Naprawdę potrzebuję listy wszystkich wiadomości MMS aktualnie w telefonie z numerem telefonu lub identyfikatorem kontaktu skojarzonym z nim, a jeśli wiadomość była wiadomością przychodzącą lub wychodzącą. W wynikach zapytania SMS mogę uzyskać numer telefonu z pola address
oraz typ przychodzący/wychodzący z pola type
, ale żaden z nich nie istnieje, gdy wyszukuję wiadomości MMS.
Czy istnieje inna treść URI, którą muszę wyszukać w przypadku tego rodzaju danych MMS? Każda pomoc będzie bardzo ceniona.
Edycja: aby wyjaśnić, mam całkowitą świadomość, że jest to nieobsługiwany dostawca treści. Jednakże, ponieważ nie ma obsługiwanego sposobu robienia tego, jestem w pełni skłonny przetestować i wspierać to na podstawie telefonu/wersji systemu operacyjnego. Aby utrzymywać dyskusję na bieżąco, powiedzmy, że to pytanie dotyczy Androida 1.6 na HTC Dream (G1) lub HTC Magic (MyTouch). W jaki sposób wykonasz to zadanie w tej konkretnej wersji telefonu i systemu operacyjnego? Lub jeśli nie jest to możliwe, ale jest możliwe na Androidzie 2.0 w Motorola Droid, to uważam, że informacje te są również bardzo pomocne. Ale niezależnie od tego, trzymajmy się dyskusji o tym, jak wykonać to zadanie w obsługiwany lub nieobsługiwany sposób i nie pozwólmy mu przejść do dyskusji na temat tego, jak powinniśmy wszyscy trzymać się z dala od rzeczy, które nie są obsługiwane przez API, co jest czymś, znajdź grupy dyskusyjne z Androidem, które mają być podziurawione, a które według mnie zapewniają niewiele pomocy. Jeśli używam nieobsługiwanej metody, to dobrze, pokaż mi obsługiwaną metodę wykonania tego zadania. Jeśli nie ma obsługiwanej metody, to dlaczego obsługa interfejsu API pozwala mi poprosić o zezwolenie na odczyt SMS-a przez android.permission.READ_SMS?
Należy pamiętać, że żadne z nich nie są obsługiwane, a aplikacja może zostać uszkodzona na różnych urządzeniach lub w przyszłych wersjach Androida. Dostawca treści SMS nie jest częścią pakietu Android SDK, więc producenci urządzeń mogą go usunąć, poprawić lub w inny sposób zepsuć, a podstawowy zespół Androida może zrobić to samo. – CommonsWare
Całkowicie to rozumiem. Jeśli masz jakiś oficjalnie obsługiwany sposób wysyłania zapytań do dziennika SMS, z chęcią się do niego przeniesię. W międzyczasie próbuję pracować z tym, co jest dla mnie dostępne. –
Zobacz także: http://stackoverflow.com/questions/2591530/contentobserver-on-content-sms-in-1-6 –