1

bradcastreceiver の onreceived 関数がトリガーされません。

さまざまな電話から SMS メッセージを送信してこれをテストしましたが、ログにはアクティビティが表示されていないようです。

ここにレシーバークラスがあります

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

この問題を解決するためにあらゆることを試しました。ミニフェストに追加するものを逃しましたか?

4

2 に答える 2

1

私は同じようにしましたが、私のマニフェストファイルは少し異なって見えます:

<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 に答える