gpt4 book ai didi

android - 来自 (Object[]) bundle.get ("pdus"的空指针)

转载 作者:行者123 更新时间:2023-11-29 21:03:58 24 4
gpt4 key购买 nike

我正在使用下面的代码

Object[] pdusObj = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdusObj.length];

但是,由于 pdusObj 为空这一事实,我基本上在第二行得到了一个空指针。我搜索了解决这个问题但没有得到任何积极的结果。解决这个问题的任何链接或解释都将非常有帮助。

这是注册服务的方式

        Intent i = new Intent(context, SMSReceiver.class);

PendingIntent sender = PendingIntent.getBroadcast(context, 0, i, 0);

// We want the alarm to go off 3 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
firstTime += 2000;// start 3 seconds after first register.

// Schedule the alarm!
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,300000, sender);// 5 min interval

最佳答案

假设您的 SMSReceiver 类是正确的,您需要为 android.provider.Telephony.SMS_RECEIVED 操作注册它,而不是为它启动广播。如果您只想在您的应用程序处于 Activity 状态时监控 SMS,您可以使用 registerReceiver() 方法和适当的 IntentFilter。如果您想监控所有传入的 SMS,则需要在 list 中静态注册您的 Receiver 类,同样使用适当的过滤器。

从您的评论来看,您似乎想在您的 list 中注册它,您希望这样做:

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

关于android - 来自 (Object[]) bundle.get ("pdus"的空指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com