在android上听传入的短信

时间:2012-04-03 09:12:26

标签: android

以下程序是我的侦听传入短信的示例程序。它创建.apk文件
    没有错误,但它没有显示消息请帮助我。吐司不显示     模拟器收到消息时的任何消息。     我的方案是收到sms ansd显示警告对话框给用户.sms contanins     电子邮件地址取决于我的应用程序搜索手机联系人并发送联系人的地址     emailId的人的号码作为回复消息

public void onReceive(Context context,Intent intent)
{
    Bundle extras=intent.getExtras();
    String messages="";
    if(extras!=null)
    {
        Object[] smsExtra=(Object[]) extras.get("pdus");
        for(int i=0;i<smsExtra.length;i++)
        {
            SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);

            String body = sms.getMessageBody().toString();
            String address = sms.getOriginatingAddress();
            messages += "SMS from " + address + " :\n";                    
            messages += body + "\n";
        }
    Toast.makeText(context, messages, Toast.LENGTH_SHORT).show(); // not  display
    }
}//onReceive

my manifastfile

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="e.x.x"
  android:versionCode="1"
  android:versionName="0.1" >

<uses-sdk android:minSdkVersion="8" />

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



    <receiver android:name=".ex2" android:exported="true" > 
        <intent-filter android:priority="999" > 
<action    android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter> 
    </receiver>



</manifest>

1 个答案:

答案 0 :(得分:0)

我不确定清单。试试这个例子Android – Listen For Incoming SMS Messages 我认为android:priority =“999”和android:exported =“true”是问题的根源