2013-04-18 15 views
5

Bu biraz garip gelebilir ancak telefonumda SMS aldığım numaraya erişmek istiyorum. SIM'in cep telefonu numarasını telephonyManager.getLine1Number() (telefon numarasını alacağımı garanti etmese de) içinde bulabilirim. Ama benim telefonumda iki tane SIM kartım var. telephonyManager.getLine1Number() yalnızca bana ilk/aktif SIM için SIM bilgisini gönderir.Android'de SMS'den alıcı numarası al

Düzenlendi: Ayrıca, herhangi bir SMS aldığımda aldığım tüm bilgileri almayı denedim, ancak ilginç bir şey bulamadım.

Alıcının SMS'lerinden alıcının numarasını (ve gönderenin numarasını değil) almanın bir yolu var mı?

cevap

-1

bu kodu deneyin,

public class SmsReceiver extends BroadcastReceiver {  

@Override public void OnReceive (Bağlam Bağlam, Niyet niyet) {

Bundle extras = intent.getExtras(); if (extras == null) return; Object[] pdus = (Object[]) extras.get("pdus"); String[] fromAddress = new String[pdus.length]; SmsMessage[] message = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { message[i] = SmsMessage.createFromPdu((byte[])pdus[i]); fromAddress[i] = message[i].getOriginatingAddress(); // it will give the address from where SMS was originated. }

}