我正在遵循本教程,但是当我将代码添加到 eclipse 时,在调用“i”int 的任何地方,eclipse 都会给出错误“int 无法转换为 boolean 值”。然而代码中就是这样的。如何在不破坏代码的情况下解决这个问题,或者我可以绕过该检查吗?我查遍了互联网上关于如何接收短信的方法,它们都是一样的。我在代码中遇到同样的错误。这是教程的链接:
我也搜索了整个堆栈溢出,并且我找到的每个代码都在 Eclipse 中给出了相同的错误。
编辑 2013 年 6 月 23 日: 这是我的代码。我已经修复了“i”int 问题,但现在在第 33、35 和 41 行出现错误。“无法访问的代码”
短信接收器:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
public class SMSReceiver extends BroadcastReceiver
{
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private World world;
public SMSReceiver(World paramWorld)
{
this.world = paramWorld;
}
public void onReceive(Context paramContext, Intent paramIntent)
{
Object[] arrayOfObject;
SmsMessage[] arrayOfSmsMessage;
int i;
if (paramIntent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
{
Bundle localBundle = paramIntent.getExtras();
if (localBundle != null)
{
arrayOfObject = (Object[])localBundle.get("pdus");
arrayOfSmsMessage = new SmsMessage[arrayOfObject.length];
i = 0;
if (i < arrayOfObject.length)
break label68;
if (arrayOfSmsMessage.length <= -1)
break label90;
}
}
label68: label90: for (this.world.haveUnreadMessage = true; ; this.world.haveUnreadMessage = false)
{
return;
arrayOfSmsMessage[i] = SmsMessage.createFromPdu((byte[])arrayOfObject[i]);
i++;
break;
}
}
}
最佳答案
如果您完全按照链接到的教程进行操作,那么此行似乎有问题。
for (int i = 0; i < pdus.length; i++) {
<
应替换为 <
关于java - Eclipse 在不应该出现的代码上给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256887/