短信阅读器接收器不工作

时间:2017-04-26 07:46:41

标签: android broadcastreceiver sms

我尝试读取发送给用户的传入短信。 我在互联网上看到了很多答案,但我无法让它发挥作用。

这是我的权限和接收者的清单:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<application>
...
<receiver android:name=".notifications.receiver.SmsCodeReader"
        android:permission="android.permission.BROADCAST_SMS"
        android:exported="true">
        <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>

</application>

这是我的Receiver课程:

public class SmsCodeReader extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "received something", Toast.LENGTH_SHORT).show();
}
}

我正在使用API​​ 22,因此不需要运行时权限,但无论我尝试什么,我都无法让Receiver工作。 我没有在日志中得到任何异常或错误

编辑: 如果我像这样发送带有意图的广播:

Intent in = new Intent("android.provider.Telephony.SMS_RECEIVED");
sendBroadcast(in);

我可以看到吐司。所以这意味着广播在清单中正确注册。 那么,为什么它不适用于真正的短信?

感谢所有

0 个答案:

没有答案