18

我的项目显示错误消息WakefulBroadcastReceiver cannot be resolved to a type。我查找了我能想到的所有可能的原因。我已经设置了android-support-libraryandgoogle play services的路径。甚至我的 mapView 也有效(如果我在代码下方评论),这意味着google play service已正确添加到项目中。

public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // Explicitly specify that GcmIntentService will handle the intent.
        ComponentName comp = new ComponentName(context.getPackageName(),
            GcmIntentService.class.getName());
        // Start the service, keeping the device awake while it is launching.
        startWakefulService(context, (intent.setComponent(comp)));
        setResultCode(Activity.RESULT_OK);
    }
}

知道为什么这会出错吗?

4

9 回答 9

43

我今天遇到了这个问题,这是我解决它的方法:

这是因为 Android 支持 JAR 没有像 SDK 管理器那样更新。您可以从您的 libs 文件夹中删除它,然后执行以下操作:

  1. 右键项目
  2. 转到 Android 工具
  3. 添加支持库

这是截图 在此处输入图像描述

然后回到你的班级点击Ctrl+ Shift+O

它将导入您丢失的库:

import android.support.v4.content.WakefulBroadcastReceiver;

Project > Clean瞧!

于 2013-12-16T19:49:00.463 回答
22

确保您已将最新的 Android 支持包添加到您的项目中。例如,这个示例项目有一个合适的android-support-v4.jar并演示了WakefulBroadcastReceiver.

于 2013-09-27T12:50:42.407 回答
7

这是因为android-support-v4.jar文件,确保你有最新的。如果你认为你的项目中有它,那就做一个小把戏。在另一个项目中找到相同的文件,比如使用最新的 SDK 创建新项目。将它的 jar 文件复制到您的这个项目中并替换旧的。现在导入import android.support.v4.content.WakefulBroadcastReceiver;并查看它的工作..

于 2013-09-30T07:26:55.587 回答
2

获取最新版本的支持文件。如果您使用的是 Eclipse,请启动 Android SDK 管理器(Window->Android SDK Manager)。在 Extras->Android Support Library 下,您将查看是否有最新版本(如果没有,它将显示更新可用)。更新包后应该出现在这里:/extras/android/support/。

更多信息:http: //developer.android.com/tools/support-library/setup.html

于 2013-09-30T13:31:45.370 回答
0

我也有同样的问题。我已经通过 Android SDK Manager 更新了“Android 支持库”,但仍然找不到 WakefulBroadcastReceiver。

解决方案是您必须在 Android SDK Manager 中删除“Android 支持库”并重新安装!

我不得不说为 Android 开发并不令人愉快。Google 弃用了 c2dm 和 com.google.android.gcm.GCMBaseIntentService,因此所有关于 android 推送通知的教程都已过时。

于 2013-12-17T03:04:19.303 回答
0

它适用于我添加v-13 jar file `Go to\projects\properties\java built path\add external jar

而你的 jar 文件位置是 sdk\extras\android\support\v-13`

于 2014-04-15T05:29:57.650 回答
0

旧的 v4 .jar 文件已弃用!请卸载并重新安装!将工作 ;)

于 2014-09-27T20:59:28.777 回答
0

上面的答案没有用,所以下面的过程解决了我的问题。

如果所有答案都不起作用,请将您的目标设置为Properties->Android->Under Project build target Select the goolgle API's ->Apply -> OK

如果您错过将 Google API 设置为目标,这一点很明显。

于 2015-10-13T10:47:56.090 回答
0

build.gradle在您的文件 中添加以下依赖关系androidx.legacy:legacy-support-v4:1.0.0

于 2022-01-10T12:03:29.483 回答