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
0 Beğeni
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]
PARDON SORUYU YANLIŞ ANLAMIŞIZ
FAKE MESAJ ALMAK İSTİYORSUN
BUNUN İÇİN İNTENT LERE BAKTIN MI SEND_TO METODUNA MESELA
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]
github 'a baktın mı?
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 .
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.
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
[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.
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
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?