1

我的 bradcastreceiver 中的 onreceived 功能没有被触发。

我通过从不同手机发送短信对此进行了测试,但日志似乎没有显示任何活动。

这是接收器类

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"/>

我已经尝试了一切来解决这个问题。我错过了要在 minifest 中添加的内容吗?

4

2 回答 2

1

我也是这样做的,但是我的 Manifest-File 看起来有点不同:

<receiver android:name=".receiver.SmsBroadcastReceiver" >
     <intent-filter android:priority="99999999" >
          <action android:name="android.provider.Telephony.SMS_RECEIVED" />
     </intent-filter>
</receiver>
于 2012-04-11T07:33:51.313 回答
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>
于 2012-04-11T07:34:18.460 回答