2012-04-11 79 views
0

我的bradcastreceiver中的onreceived函數沒有被觸發。Android SMS_RECEIVED broadcastreceiver沒有被調用

我通過發送來自不同手機的短信消息來測試此功能,但日誌似乎沒有顯示任何活動。

這裏是接收機類

package nz.co.smstopc; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 

public class SmsListener extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //---get the SMS message passed in--- 
     Log.d("SmsListener", "new sms!!"); 
    } 
} 

這裏是minifest.xml

<receiver android:name=".smstopc.SmsListener"> 
     <intent-filter>           
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

這是我用過的權限。

<uses-permission android:name="android.permission.RECEIVE_SMS"/> 

我已經試過一切來解決這個問題。 我錯過了什麼可以添加在最小的?

+1

可能存在任何其他正在接收短信並阻止其進一步發送的應用程序。 – Relsell 2012-04-11 07:34:27

+0

即時通訊使用短信應用程序,可以阻止它? – 2012-04-11 07:36:46

+1

也許它可以..我不知道它是如何編碼..但它可以.. – Relsell 2012-04-11 07:39:21

回答

1

我也用同樣的方式,但我的清單,文件看起來只是有點不同:

<receiver android:name=".receiver.SmsBroadcastReceiver" > 
    <intent-filter android:priority="99999999" > 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter> 
</receiver> 
0

在接收器可在清單標籤封裝屬性衝突的包名 試試這個

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="your package name" 
... 
... 
... 
<receiver android:name="nz.co.smstopc.SmsListener"> 
     <intent-filter>           
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 
+0

如果我的包是一個問題,我不應該在日誌中得到一個錯誤?我有另一個名爲nz.co.view的包,如果我改變,可能衝突 – 2012-04-11 07:38:14

+0

看到我的更新.. – confucius 2012-04-11 07:41:38

+0

沒有錯誤將出現在日誌 – confucius 2012-04-11 07:44:16

相關問題