首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能在android中"addAction“到IntentFilter

不能在android中"addAction“到IntentFilter
EN

Stack Overflow用户
提问于 2011-05-23 14:53:25
回答 2查看 8.7K关注 0票数 5

嗨。我是一个安卓初学者,试图制作一个IntentFilter,可以过滤多个动作。不幸的是,当我开始使用addAction方法时,Eclipse会抛出一个错误:

“令牌上的语法错误”addAction,在此令牌之后所期望的标识符

即使我已经导入了所需的文件。这可能是一个设置问题,即使我不知道为什么其余的代码没有显示出任何问题。

下面是我的代码存根:

代码语言:javascript
复制
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");

我还注意到了一件事--当我键入“过滤器”时。什么也没有出现,只有“没有默认建议”的信息。

有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-23 15:41:23

阅读以上问题中的注释(“本行的多个标记--令牌上的语法错误")”、删除此标记等),我仍然认为这是一个不让Eclipse理解代码的括号(或括号)错配问题。它可能在另一种方法中。请仔细检查所有文件。您可以尝试删除大部分代码(只需将其复制到记事本),直到将问题缩小为止。

来自 (重点雷):

意图过滤器是IntentFilter类的一个实例。但是,由于Android系统在启动组件之前必须了解组件的功能,所以意图筛选器通常不是在Java代码中设置,而是在应用程序的清单文件 (AndroidManifest.xml)中作为元素设置。( one异常将是通过调用Context.registerReceiver()动态注册的广播接收器的过滤器;它们直接创建为IntentFilter对象。)

我想把这个加到你的舱单上:

代码语言:javascript
复制
<intent-filter android:label="@string/screen_off">
  <action android:name="android.intent.action.SCREEN_OFF" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
票数 5
EN

Stack Overflow用户

发布于 2011-07-07 09:20:31

您试图在方法作用域之外运行代码,这在Java中是非法的(除非是赋值)。如果您将代码更改为

代码语言:javascript
复制
private Context mContext;
IntentFilter filter = new IntentFilter();
{
    filter.addAction("android.intent.action.SCREEN_OFF");
}

它将作为对象构造函数的一部分运行。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6098901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档