Uygulamamda, gelen ve giden tüm iletilerin geçmişini almak için SMS ve MMS günlüğünü sorgulamam gerekir. Bu kod SMS için harika çalıştı:Android'de MMS Günlüğü nasıl sorgulanır
Cursor c = cr.query(Uri.parse("content://sms"), null, null, null, null);
Ama çalıştığımda tamamen farklı sonuçlar elde aşağıdadır:
Cursor c = cr.query(Uri.parse("content://mms"), null, null, null, null);
SMS sorgu mesajı adresi (telefon numarası) içeren veri döndürür iletişim isim, mesaj konusu, mesaj gövdesi, vb ... MMS için aynı sorgu, herhangi bir anlam ifade edemediğim null veya sayısal değer alanlarını döndürür. Telefon numarası veya telefon numarasıyla ilişkili kişi kimliğine sahip telefondaki tüm MMS mesajlarının bir listesine ve mesajın gelen veya giden bir mesaj olmasına gerçekten ihtiyacım var. SMS sorgusu sonuçlarında, address
alanından telefon numarası ve type
alanından gelen/giden türünü alabilirim, ancak bunların hiçbiri MMS için sorguladığımda mevcut değil.
Bu tür MMS verileri için sorgulamam gereken farklı bir içerik Uri var mı? Herhangi bir yardım büyük takdir edilecektir.
Düzenleme: Sadece açıklığa kavuşturmak için, bunun desteklenmeyen bir içerik sağlayıcısı olduğunun tamamen farkındayım. Ancak, bunu desteklenen bir şekilde desteklemediğinden, bunu her telefon başına/OS sürüm temelinde test etme ve desteklemeye tamamen hazırım. Sadece tartışmayı yolda tutmak için bu sorunun bir HTC Dream (G1) veya HTC Magic (MyTouch) üzerindeki Android 1.6'ya özgü olduğunu söyleyelim. Bu görevi belirli telefon ve işletim sistemi sürümünde nasıl başardınız? Ya da bu mümkün değilse, ama bir Motorola Droid üzerinde Android 2.0 mümkün, o zaman ben de bu bilgileri çok yararlı bulabilirsiniz. Ancak, ne olursa olsun, bu görevin desteklenmiş ya da desteklenmeyen bir şekilde nasıl gerçekleştirileceğine ilişkin tartışmalara sadık kaldık ve bunların API tarafından desteklenmeyen şeylerden nasıl uzak durmamız gerektiğine dair bir tartışmaya dönüşmesine izin vermeyelim. Android tartışma gruplarını bulmak ve bilmediğim bir şey olduğunu düşünüyorum. Desteklenmeyen bir yöntem kullanıyorum, sorun değil, bana bu görevi yerine getirmenin desteklenen yöntemini göster. Desteklenen bir yöntem yoksa, neden API desteği android.permission.READ_SMS üzerinden SMS okuma izni istememe izin veriyor?
Bu iki seçenek de desteklenmektedir ve başvurunuzun çeşitli cihazlarda veya gelecekteki Android sürümleri ile çıkabileceğinden unutmayınız. SMS içerik sağlayıcısı Android SDK'nın bir parçası değildir, bu nedenle cihaz üreticileri onu kaldırmaya, gözden geçirmeye veya başka bir şekilde dağıtmaya hazırdır ve çekirdek Android ekibi aynı şeyi yapmaya hazırdır. – CommonsWare
Bunu kesinlikle anlıyorum. SMS günlüğünü sorgulama konusunda resmi olarak desteklenen bir yönteminiz varsa, buna geçiş yapmaktan memnuniyet duyarız. Bu arada, sadece bana uygun olanlarla çalışıyorum. –
Ayrıca bkz .: http://stackoverflow.com/questions/2591530/contentobserver-on-content-sms-in-1-6 –