2013-08-28 1 views
4

나는 안드로이드에 익숙하며 몇 가지 sms_receive 일에 안드로이드 2.1을 사용하고 있습니다. SMS 수신시 작동하지 않습니다 ... SMS 수신시 아무런 반응이 없으며 강제 종료했습니다. AndroidManifest.xml에 대한안드로이드에서 SMS를받는 방법?

코드 :

<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 
4
SmsReceiverRSMSActivity에서 클래스 이름을 변경

.
더 그것을 확인 :

관련 문제