嗨。我是一个安卓初学者,试图制作一个IntentFilter,可以过滤多个动作。不幸的是,当我开始使用addAction方法时,Eclipse会抛出一个错误:
“令牌上的语法错误”addAction,在此令牌之后所期望的标识符
即使我已经导入了所需的文件。这可能是一个设置问题,即使我不知道为什么其余的代码没有显示出任何问题。
下面是我的代码存根:
import android.content.Intent;
import android.content.Context;
import android.content.IntentFilter;
...
private Context mContext;
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.SCREEN_OFF");我还注意到了一件事--当我键入“过滤器”时。什么也没有出现,只有“没有默认建议”的信息。
有人能帮我吗?
发布于 2011-05-23 15:41:23
阅读以上问题中的注释(“本行的多个标记--令牌上的语法错误")”、删除此标记等),我仍然认为这是一个不让Eclipse理解代码的括号(或括号)错配问题。它可能在另一种方法中。请仔细检查所有文件。您可以尝试删除大部分代码(只需将其复制到记事本),直到将问题缩小为止。
来自 (重点雷):
意图过滤器是IntentFilter类的一个实例。但是,由于Android系统在启动组件之前必须了解组件的功能,所以意图筛选器通常不是在Java代码中设置,而是在应用程序的清单文件 (AndroidManifest.xml)中作为元素设置。( one异常将是通过调用Context.registerReceiver()动态注册的广播接收器的过滤器;它们直接创建为IntentFilter对象。)
我想把这个加到你的舱单上:
<intent-filter android:label="@string/screen_off">
<action android:name="android.intent.action.SCREEN_OFF" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>发布于 2011-07-07 09:20:31
您试图在方法作用域之外运行代码,这在Java中是非法的(除非是赋值)。如果您将代码更改为
private Context mContext;
IntentFilter filter = new IntentFilter();
{
filter.addAction("android.intent.action.SCREEN_OFF");
}它将作为对象构造函数的一部分运行。
https://stackoverflow.com/questions/6098901
复制相似问题