2013-08-28 70 views
4

我是新來的android和我使用android 2.1的一些sms_receive的東西:當一個短信收到,它不會工作......沒有什麼反應,當短信收到,我有力量關閉,幫助!如何在android中接收短信?

代碼的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(); 
      } 
     } 
    } 
} 

回答

7

你的類名是錯誤的,根據你的清單文件應該像

public class SmsReceiver extends BroadcastReceiver