SMS Okuma
Bir BroadcastReceiver tanımlanır. Kodu şuna benzer.
getStatusOnIcc metodu
Şöyle yaparız.
Şöyle yaparız.
Manifest
BroadcastReceiver şöyle şöyle etkinleştirilir.
Bir BroadcastReceiver tanımlanır. Kodu şuna benzer.
public class SmsBroadcastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object[] sms = (Object[]) bundle.get("pdus");
for (Object sm : sms) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sm);
String smsBody = smsMessage.getMessageBody();
String senderNumber = smsMessage.getOriginatingAddress(); ...
}
}
Eğer aynı sınıf hem okuma hem de gönderme için kulllanılıyorsa ikisi şöyle ayırt edilir.public class SmsBroadcastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String MSG_TYPE = intent.getAction();
if (MSG_TYPE.equals("android.provider.Telephony.SMS_RECEIVED")) {
...
} else if (MSG_TYPE.equals("android.provider.Telephony.SEND_SMS")) {
...
}
}
}
createFromPdu metodu
Şöyle yaparız.byte [] pdu = ...;
SmsMessage sms = SmsMessage.createFromPdu (pdu);
getDisplayMessageBody metodu
Şöyle yaparız.
String message = sms.getMessageBody();
getOriginatingAddress metodu
Şöyle yaparız.
String senderNumber = sms.getOriginatingAddress();
getProtocolIdentifier metodu
Şöyle yaparız.sms.getProtocolIdentifier
();
Şöyle yaparız.
sms.getStatusOnIcc();
getStatusOnSim metoduŞöyle yaparız.
sms.getStatusOnSim();
BroadcastReceiver şöyle şöyle etkinleştirilir.
<receiver android:name="com.example.abc.SmsBroadcastReciever"> <intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Şu izinlere gerek vardır.<uses-permission android:name="android.permission.RECEIVE_SMS"
android:required="true"/>
<uses-permission android:name="android.permission.READ_SMS"
android:required="true"/>
Hiç yorum yok:
Yorum Gönder