2014-01-21 10 views
-1

это ресивер sms, но не работает !!! вот мои коды. Я не знаю, в чем проблема !!!! также я установил gosms !! есть ли проблемы ??У меня есть ресивер sms, но не работает

мой manifest.xml

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="18" /> 
    <uses-permission android:name="android.permission.SEND_SMS"> 
    </uses-permission> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"> 
    </uses-permission> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.sms_rec.MainActivity" 
      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=".Smsreciv" 
      > 
      <intent-filter> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED" > 
       </action> 
      </intent-filter> 


      </receiver> 

    </application> 


    </manifest> 

моя основная деятельность:

package com.example.sms_rec; 

    import android.app.Activity; 
    import android.content.BroadcastReceiver; 
    enter code here 
    import android.os.Bundle; 


    public class MainActivity extends Activity 
{ 


    private static final BroadcastReceiver Smsreciv = null; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 



     }  
} 

--------------------------------- 

мой смс ресивер: ------------------- ---------

package com.example.sms_rec; 
    import android.content.BroadcastReceiver; 
    import android.content.Context; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.telephony.SmsMessage; 
    import android.widget.Toast; 

    public abstract class Smsreciv extends BroadcastReceiver { 
    @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(); 
     }       
    }  


    } 

ответ

1

это смс-приемник, но не работает

В будущем, пожалуйста, объясните, что означает «не работает», путем предоставления определенных симптомов.

есть проблемы.

Одна вещь, которая, безусловно, не так, что у вас есть abstract ключевое слово в определении класса для Smsreciv. Это не позволит Android создать экземпляр этого класса. Вы должны увидеть предупреждение или ошибку в LogCat об этом. Пожалуйста, удалите abstract, так как он вам не нужен.

This sample project демонстрирует приложение, которое может отслеживать SMS-сообщения.

+0

я удалил реферат, но нет тостов! – user3185049

Смежные вопросы