Oca 24

Android SMS Okuma

sms

Merhaba arkadaşlar, bu yazımda android’de sms gelen kutusundaki mesajları nasıl okuyabileceğinizi anlatacağım. SMS’leri string olarak alacağız. Karmaşık olarak gelecek . Bunu analiz edip içerisinden anlamlı veriye ulaşmak size kalmış. Genel hatlarıyla bir sms to string uygulaması yapacağız.

Projenizde aşağıdaki importların bulunduğundan emin olun;

import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.text.method.ScrollingMovementMethod;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

Kodları açıklayacak olursak; deneme adında bir textview tanımladık. Okuduğumuz string’i bu textview’a yazacağız. Tanımladığımız cursor’a nerede okuma yapacağını belirttik. cursor.moveToFirst(); komutu ile baştan itibaren okumasını söyledik. do while döngüsü içerisinde de tanımladığımız for ile sms’ler içerisinde dolaşıp cursordaki metni aldık.

public class MainActivity extends ActionBarActivity {

TextView deneme;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
deneme=(TextView)findViewById(R.id.textView1);
Cursor cursor = getContentResolver().query(Uri.parse(“content://sms/inbox”), null, null, null, null);
cursor.moveToFirst();
String msgData = “”; 
do{

for(int idx=0;idx<cursor.getColumnCount();idx++)
{
msgData += ” ” + cursor.getColumnName(idx) + “:” + cursor.getString(idx);//mesajı aldık.
}
}
while(cursor.moveToNext());//Sona gelene kadar ileri git
deneme.setText(msgData);//stringi txtview’a attık.
deneme.setVerticalScrollBarEnabled(true);//birden çok satır olması durumunda aşağı doğru kaydırma
deneme.setMovementMethod(ScrollingMovementMethod.getInstance());

//kaydırmayı aktif ettik.

}

}

Ayrıca aşağıdaki izni de tanımlamayı unutmayın.

<uses-permission android:name=”android.permission.READ_SMS”></uses-permission>

Bir Cevap Yazın