SmsReceiver(Broadcast)Sms okuma

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

if (bundle != null) {

    final Object[] pdusObj = (Object[]) bundle.get("pdus");

    for (int i = 0; i < pdusObj.length; i++) {

        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
        String phoneNumber = currentMessage.getDisplayOriginatingAddress();
        AyApplication.gelenSmsNumara = phoneNumber;
        AyApplication.gelenSms = currentMessage.getDisplayMessageBody().toString();
        Calendar c = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
        strDate = sdf.format(c.getTime());


        Log.i("SmsReceiver", "senderNum: " + senderNum + "; message: " + AyApplication.gelenSms);
    }
gelen smsleri okuduğum kod bu şekilde yalnız uzun gelen mesajları bi string içine atmıyor 2 ye bölüyor.Bu gelen smsleri tek seferde almam gerek boyutu ne olursa olsun.Şimdiden cvpler için teşekkürler
Cevaplandı 0
Android 4 sene 8 Cevap 729 görüntüleme Intern 0

Yazar HakkındaIntern

Android Developer

Beni Takip Et

Cevaplar ( 8 )

  1. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Uzun gelen mesajlar 2 yada daha cok mesaj olarak geliyor. Yani 160 karakterden fazlası her zaman ayrı mesaj olarak gelecektir. Bunu sen uygulama içinde birleştireceksin.
    Aşağıdaki soruları inceleyebilirsiniz.
    http://stackoverflow.com/questions/4306020/android-receiving-long-sms-multipart
    http://stackoverflow.com/questions/13598725/receive-and-concatenation-sms-more-than-160-characters-in-android

  2. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    AyApplication.gelenSms = currentMessage.getDisplayMessageBody().toString();
    burdaki toString i kaldırıp dener misin ? 160 karakteri geçmeden bölmesi mantıksız geldi.

    • krtlmstf

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      Bunu her zaman yapmıo bazı mesajları alıyor.Bazılarını almıyor.Logta takip ettim bazı mesajları bölüo 2 seferde gibi gelio mesaj.

      • Taha Kırca

        Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

        Rapor et
        İptal

        Türkçe karakter olanlarla ilgili sorun olabilir mi? Türkçe karakter kullanmadığında sorun oluyor mu önce bunu tespit etmeyi dene .

        • krtlmstf

          Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

          Rapor et
          İptal

          Sanırım onunla alakalı.Peki onun için ne yapmam gerekir?

          • bestekarx

            Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

            Rapor et
            İptal

            türkçe karakter sorunları için her zaman replace kullanıyorum kısa kolay basit

          • Taha Kırca

            Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

            Rapor et
            İptal

            Türkçe karakter olduğunda 160 karakter olmasını beklemez. Yani bir türkçe karakter 10 karakter yerine geçebilir. Dolayısıyla mesajın tek seferde değil 2,3 seferde gelmektedir. Yukarıdaki attığım linkler 1’den fazla mesaj geldiğinde bu mesajları nasıl birleştirmen gerektiğini anlatıyor. O linkleri inceleyebilirsin.

            En iyi cevap

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.