Android SMS BroadcastReceiver没有解雇

时间:2016-04-25 22:32:36

标签: android broadcastreceiver sms

我知道这是一个在这里被问到很多的问题,但我在我的Android地图应用程序中拥有最简单的SMS BroadcastReceiver实现,无论我尝试过什么,它都不会触发。我只是擦了手机,所以没有其他应用程序会干扰接收器。事实上,我尝试过使用相同功能的朋友的应用程序,但是他的实现工作正常,但我没有,尽管代码几乎完全相同。我知道这是一个黑暗的镜头,但我想知道你是否可能碰巧知道为什么下面的代码没有执行。

的AndroidManifest.xml

<uses-feature android:name="android.hardware.telephony" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

    <activity
        android:name=".MapsActivity"
        android:label="@string/title_activity_maps">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

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

</application>

SMSReceiver

public class SMSReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("msg", "called");
    }
}

最低SDK为18,目标为23.感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

固定!出于某种原因,将目标SDK从23更改为19工作:)