Получение СМС Android - PullRequest
       8

Получение СМС Android

0 голосов
/ 17 января 2012

Я в настоящее время кодирую для Android, и я хочу, когда я получаю SMS, приложение выполняет некоторые операции ... Теперь странная часть ... Я тестирую следующий код в эмуляторе, он работает на 100%, но когда явозьми на мой андроид 2.3.3 с GO SMS он вообще не работает: \

import android.content.BroadcastReceiver;
import android.content.Context;<br />
import android.content.Intent;<br />
import android.os.Bundle;<br />
import android.telephony.gsm.SmsMessage;<br />
import android.widget.Toast;


public class SMSReceiver extends BroadcastReceiver {
String lsms;
/* package */ static final String ACTION =
        "android.provider.Telephony.SMS_RECEIVED";

    @Override
    public void onReceive(Context context, Intent intent) {
         //---get the SMS message passed in---        
        Bundle bundle = intent.getExtras();                
        SmsMessage[] msgs = null;        
        String str = "";                    
        if (bundle != null)        {           
            //---retrieve the SMS message received---            
            Object[] pdus = (Object[]) bundle.get("pdus");            
            msgs = new SmsMessage[pdus.length];                        
            for (int i=0; i<msgs.length; i++){                
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                                
                str += "SMS from " + msgs[i].getOriginatingAddress();                                     
                str += " :";                
                str += msgs[i].getMessageBody().toString();                
                str += "\n";                    
                }            
            //---display the new SMS message---            
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();        
            }

    }


}

И да ... Я добавил необходимый код в AndroidManifest.xml Разрешение:

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

И умысел

<receiver android:name=".receiver.SMSReceiver" android:enabled="true">
      <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
      </intent-filter>
    </receiver>

1 Ответ

0 голосов
/ 17 января 2012

Я слышал, что GO SMS и другие SMS-приложения перехватывают полученную SMS-рассылку и перестают передавать ее чему-либо еще, поэтому при получении текста появляются только их уведомления.Вы должны попытаться удалить GO SMS и посмотреть, будет ли это работать тогда.

К сожалению, нет способа обойти проблему, если это не так, потому что они установили для себя приоритет наивысшего значения, так что ничего не может получитьтрансляция до ее уничтожения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...