2012-10-07 50 views
0

我的應用程序在收到短信時讀取傳入消息並啓動服務。 當我安裝它在移動它不工作無法讀取短信並開始接收短信的新服務android

以下是代碼

我撒施接收文件

public class readsms extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 


//  getting bundle 

     Bundle getdata=intent.getExtras(); 
     System.out.println("i got msg first"); 
     if(getdata==null){ 
      return; 
     } 

     Object[] pdus=(Object[])getdata.get("pdus"); 
     for (int i = 0; i < pdus.length; i++) { 
      SmsMessage message = SmsMessage.createFromPdu((byte[]) pdus[i]); 
      String fromAddress = message.getOriginatingAddress(); 
      String fromDisplayName = fromAddress; 
      System.out.println(message.getMessageBody().toString()); 
      Intent di=new Intent(context,MainActivity.class); 
      di.putExtra("from", fromAddress); 
      di.putExtra("msg", message.getMessageBody().toString()); 
      context.startService(di); 

     } 
    } 

} 

我的服務文件

public class MainActivity extends Service{ 

    @Override 
    public IBinder onBind(Intent intent) { 
     // TODO Auto-generated method stub 
     return null; 
    } 



    public int onStartCommand(Intent intent,int flags,int startId){ 
     Bundle getdata=intent.getExtras(); 
     String msg=getdata.getString("msg"); 
     String from="from :"+getdata.getString("from")+"/n"+msg; 
     String destination="phone number"; 
     SmsManager mysms=SmsManager.getDefault(); 
     mysms.sendTextMessage(destination, null,from , null, null); 
     return startId; 

    } 
} 

我的清單文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.projectx" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.READ_SMS"/> 
    <uses-permission android:name="android.permission.WRITE_SMS"/> 
    <uses-permission android:name="android.permission.SEND_SMS"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <service android:name=".MainActivity"> 

     </service> 

    </application> 


</manifest> 

請指點我什麼我錯過?

回答

0

您必須在您的mainfest文件中註冊BroadCast Receiver類。使用此代碼:

<receiver android:name="readsms"/> 

在您的主要文件。

+0

Thnks RISHABH讓我查一下這個 –

+0

肯定的是,如果有問題,讓我知道:) – yokees

+0

我沒有得到任何錯誤日誌,但仍程序是無法進入的味精轉發到特定號碼 –