我是一个新手,正在使用 Android 2.1 处理一些 SMS 接收的事情:当收到短信时,它不起作用... 收到短信时什么也不会发生,并且我强制关闭了。请帮帮我!
AndroidManifest.xml 的代码如下:
类RSMSActivity:
AndroidManifest.xml 的代码如下:
<uses-sdk android:minsdkversion="7" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application android:label="@string/app_name">
<activity>
android:name=".SmsReceiver"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.smsreceiver.SmsReceiver" android:enabled="true">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
类RSMSActivity:
public class RSMSActivity extends BroadcastReceiver {
private static final String SHORTCODE = "55443";
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object[] messages = (Object[]) bundle.get("pdus");
SmsMessage[] sms = new SmsMessage[messages.length];
// Create messages for each incoming PDU
for (int n = 0; n < messages.length; n++) {
sms[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
for (SmsMessage msg : sms) {
// Verify if the message came from our known sender
if (TextUtils.equals(msg.getOriginatingAddress(), "09358921973")) {
Toast.makeText(context, "Received message from the mothership: " + msg.getMessageBody(),
Toast.LENGTH_SHORT).show();
}
}
}
}