Soru & Cevap

Android de buttona bastığım zaman sms gelen kutusunda kendi ürettiğim bir mesajı nasıl gösterte bilirim?

24.10.2013 - 07:57

Andoid sms gelen kutusuna sms ekleme

32 Görüntülenme

10 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-16986-1419455985.png
AndroDevTurk
04.03.2014 - 01:32

FAKE MESAJ ALMAK ÇOK ZOR OLMASA GEREK.

BEN KAZA İLE ÖYLE BİR UYGULAMA YAPMIŞTIM. BANA GELEN MESAJLARI ÇİFTLEREYEK BANA GÖNDERİYORDU TABİ ÜSTÜNDE UFAK DEĞİŞİKLİK YAPARAK ÜZERİNDE AZ ÇALIŞSAM YAPARIM ASLINDA O ÖZELLİĞİ ÇIKARDIĞIM GİBİ YENİ BİR UYGULAMAYA KOYABİLİRİMDE.

java dosyasında çok fazla kod var ama ben işin asıl bittiği yerden bir bölüm vercem ona artık ekleme çıkarma yaparak istediğin o fake mesaj alma uygulamasını yapabilirsin

 

[code]

private void putSmsToDatabase( ContentResolver contentResolver, SmsMessage sms )
    {
        // Create SMS row
        ContentValues values = new ContentValues();
        values.put( ADDRESS, sms.getOriginatingAddress() );
        values.put( DATE, sms.getTimestampMillis() );
        values.put( READ, MESSAGE_IS_NOT_READ );
        values.put( STATUS, sms.getStatus() );
        values.put( TYPE, MESSAGE_TYPE_INBOX );
        values.put( SEEN, MESSAGE_IS_NOT_SEEN );
   
        
        // Push row into the SMS table
        contentResolver.insert( Uri.parse( SMS_URI ), values );
    }

[/code]

picture-16986-1419455985.png
AndroDevTurk
04.03.2014 - 01:16

PARDON SORUYU YANLIŞ ANLAMIŞIZ 

FAKE MESAJ ALMAK İSTİYORSUN 

BUNUN İÇİN İNTENT LERE BAKTIN MI SEND_TO METODUNA MESELA

picture-16986-1419455985.png
AndroDevTurk
04.03.2014 - 01:14

BENDE BU KONUYU 2 HAFTA DÜŞÜNMÜŞTÜM  2 HAFTA ÖNCE ALSANA KENDİ UYGULAMAM BEN MESAJLARI SPİNNER KONTOLÜNE KOYDUM BANA ORDA LAZIMDI AMA EĞER SEN KODLARLA AZCIK OYNARSAN BAŞKA YERLERDEDE GÖSTERTEBİLİRSİN ;)

 

[code]

 final ImageButton Guncelle= (ImageButton) findViewById(R.id.btnGuncelle);

        listem();

        Guncelle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View View) {

                ((EditText)findViewById(R.id.Mesaj)).setText( cryptedString="");

                ContentResolver contentResolver = getContentResolver();
                Cursor cursor = contentResolver.query( Uri.parse("content://sms/inbox"), null, null, null, null);

                int indexBody = cursor.getColumnIndex( SmsReceiver.BODY );
                //             int indexAddr = cursor.getColumnIndex( SmsReceiver.ADDRESS ); // ben bunu çıkartmıştım ama eğer sen eklersen bu sayeded spinner listesinin içine gönderici numarayıdaeklemiş olursun.

                if ( indexBody < 0 || !cursor.moveToFirst() ) return;

                smsList.clear();

                do
                {

//                  smsList.add( new String( "Gönderen : "+ cursor.getString( indexAddr ) + "\n" + "Mesajı : " + cursor.getString( indexBody )) );
                    smsList.add( new String( cursor.getString( indexBody )) );
                }
                while( cursor.moveToNext() );

                listem();
            }

    private void listem() {

        spinner= (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, smsList);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setOnItemSelectedListener(this);
        spinner.setAdapter(adapter);
    }

[/code]

picture-399-1379511904.jpg
halil
27.10.2013 - 04:36

github 'a baktın mı? 

picture-7259-1382600876.jpg
fatihdurmaz.93
26.10.2013 - 11:24

http://stackoverflow.com/questions/12335642/create-pdu-for-android-that-works-with-smsmessage-createfrompdu-gsm-3gpp   eğer bu linkibakarsanız aslında bunu yapmakk mümkün olduğunu görürsünüz fakat mesele şu ki bu kodları çalıştırdığımda bende hiç bir değişiklik olmuyor malesef çalışan örnek bir projede koymamaışlar .

picture-3606-1408610132.jpg
cgural
26.10.2013 - 03:45

adb ile cihazın shell'ine ulaşıp broadcast yayınlayabiliyorsunuz ama sizinki gibi sistme içinde ama sistem çapında bir broadcast'i fake olarak yayınlama fikrine ilk defa şahit oluyorum. bilgim, package name'iniz aynı olmadığından android.intent.action... türünde bir broadcast gönderemeyeceğinizdir.

picture-7259-1382600876.jpg
fatihdurmaz.93
25.10.2013 - 10:16

Halil Kesin ncelikle çok teşekkür ederim ilginiz için fakat bu kodları tam manası ile çalıştıramadım gösterdiğiniz kaynakların her ikisinide soruyu sormadan önce incelemiştim

aslında gelen kutusuna okunmamış mesajı yerleştirebiliyorum fakat sms notificationlarını aktif hale getiremiyorum eğer mümkünse örenk bir proje koyabilirseniz çok sevinirim şimdiden Teşekkürler

 

picture-399-1379511904.jpg
halil
25.10.2013 - 10:38

[code]

Intent a = new Intent("android.provider.Telephony.SMS_RECEIVED"); byte[] by =(byte[])(SmsMessage.getSubmitPdu("12345", "1234", "hello", false).encodedMessage); Object[] vrs = {by}; a.putExtra("pdus",vrs); sendBroadcast(a);

[/code]

kodun buna benzer olucak. Kütüphaneleri incelersen daha detaylı bilgi edinebilirsin.

izinlere bunları eklemeyi unutma. 

[code]

<uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" />

[/code]

Ayrıca konu hakkında daha detaylı bilgi için gelecegiyazanlarda burada , yabancı kaynak olarak burada eğitim dökümanı bulunmakta. 

picture-7259-1382600876.jpg
fatihdurmaz.93
25.10.2013 - 12:32

aslında şunu demek istedim : ben bir butona bastığımda sanki gerçek bir mesaş geliyormuş gibi mesaj gelmesini istiyorum ama mesajı ben programmımdan operatörü kullanmadan göndermek istiyorum . bir nevi fake mesaj olacak

picture-399-1379511904.jpg
halil
24.10.2013 - 08:19

Dogru cevap verebilmek adına sorunu tam olarak açıklayabilmen mümkün mü?

Yarattığın bir mesajı sms kutusuna mı kaydetmek istiyorsun yoksa butona bastığın zaman birilerine mesaj gönderip bunu mu görmek istiyorsun?