小编Bas*_*ant的帖子

当应用程序在奥利奥中被杀死时,广播接收器不工作为什么?

我如何使用 Oreo 中的广播接收器接收传入消息的数据,它在 Oreo 版本之前完美运行,但我无法在 Oreo 中接收,我试图通过开发人员站点的帮助来缩短它,但没有任何示例代码为此,那里只给出了奥利奥限制

这是我的广播接收器类

public class SMSReceiver extends BroadcastReceiver


{
String sender,message;
public void onReceive(Context context, Intent intent) {

    Bundle myBundle = intent.getExtras();
    SmsMessage[] messages = null;
    String strMessage = "";

    if (myBundle != null) {
        Object[] pdus = (Object[]) myBundle.get("pdus");
        messages = new SmsMessage[pdus.length];

        SmsMessage shortMessage=SmsMessage.createFromPdu((byte[]) pdus[0]);
        for (int i = 0; i < messages.length; i++) {
            messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            sender=messages[i].getOriginatingAddress();

            String message =shortMessage.getMessageBody();



        Toast.makeText(context, sender+"\n"+message, Toast.LENGTH_SHORT).show();


        }

    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的清单

<?xml version="1.0" encoding="utf-8"?> …
Run Code Online (Sandbox Code Playgroud)

java android android-broadcastreceiver android-8.0-oreo

6
推荐指数
1
解决办法
2271
查看次数