【问题标题】:Syntax error on token(s), misplaced construct(s)?令牌上的语法错误,错误的构造?
【发布时间】:2015-02-24 05:43:37
【问题描述】:

我正在尝试创建一个名为 broadcastMensajes 的类来扩展 BroadcastReceiver,我正在使用此处提供的代码:http://androidexample.com/Incomming_SMS_Broadcast_Receiver_-_Android_Example/index.php?view=article_discription&aid=62&aaid=87

Eclipse 几乎在所有代码下划线,并标注为"Syntax error on tokens, delete these tokens"

"Syntax error on token(s), misplaced construct(s)"if 内的try

代码没问题,为什么会这样?

这是代码:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;

public class broadcastMensajes extends BroadcastReceiver {


    AccionesExecuter Ejecutor = new AccionesExecuter();
    final SmsManager smsManager = SmsManager.getDefault();
     
    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
        

        // Retrieves a map of extended data from the intent.
        final Bundle bundle = intent.getExtras();
 
        try {
             
            if (bundle != null) {
                 
                final Object[] pdusObj = (Object[]) bundle.get("pdus");
                 
                for (int i = 0; i < pdusObj.length; i++) {
                     
                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                    String phoneNumber = currentMessage.getDisplayOriginatingAddress();
                     
                    String senderNum = phoneNumber;
                    String message = currentMessage.getDisplayMessageBody();
                     
                } // end for loop
              } // bundle is null
 
        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception smsReceiver" + e);
             
        }
    }    
}

错误日志:

Description Resource    Path    Location    Type
Syntax error on token(s), misplaced construct(s)    broadcastMensajes.java  /Actions/src/com/nahue/actions  line 27 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 14 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 15 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 16 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 20 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 27 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 29 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 31 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 31 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 33 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 34 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 36 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 37 Java Problem
Syntax error on tokens, delete these tokens broadcastMensajes.java  /Actions/src/com/nahue/actions  line 43 Java Problem
Syntax error, insert ";" to complete Statement  broadcastMensajes.java  /Actions/src/com/nahue/actions  line 43 Java Problem
Syntax error, insert "}" to complete Block  broadcastMensajes.java  /Actions/src/com/nahue/actions  line 43 Java Problem
Syntax error, insert "}" to complete ClassBody  broadcastMensajes.java  /Actions/src/com/nahue/actions  line 18 Java Problem
Syntax error, insert "}" to complete MethodBody broadcastMensajes.java  /Actions/src/com/nahue/actions  line 18 Java Problem
Syntax error, insert "else Statement" to complete IfStatement   broadcastMensajes.java  /Actions/src/com/nahue/actions  line 43 Java Problem

【问题讨论】:

  • 你的代码在我看来没问题,你导入日志了吗? import android.util.Log;
  • 添加了,还是不行

标签: android syntax syntax-error


【解决方案1】:

添加所有支持的导入,例如:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.util.Log;

public class BroadcastMensajes extends BroadcastReceiver {
    AccionesExecuter Ejecutor = new AccionesExecuter();
    final SmsManager smsManager = SmsManager.getDefault();

    @Override
    public void onReceive(Context context, Intent intent) {
        // Retrieves a map of extended data from the intent.
        final Bundle bundle = intent.getExtras();

        try {
            if (bundle != null) {
                final Object[] pdusObj = (Object[]) bundle.get("pdus");
                for (int i = 0; i < pdusObj.length; i++) {
                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                    String phoneNumber = currentMessage.getDisplayOriginatingAddress();
                    String senderNum = phoneNumber;
                    String message = currentMessage.getDisplayMessageBody();
                } // end for loop
              } // bundle is null
        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception smsReceiver" + e);
        }
    }    
}

【讨论】:

  • 清理你的项目并重新构建它。
  • 您的代码有效!你改变了什么?非常感谢!
  • 我删除了空格并格式化了文本,不管它是如何工作的都很酷:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多