Java WakefulBroadcastReceiver无法解析为类型
我的项目显示了一条错误消息,Java WakefulBroadcastReceiver无法解析为类型,java,android,Java,Android,我的项目显示了一条错误消息,WakefulBroadcastReceiver无法解析为类型。 我查了一下所有我能想到的可能的原因。我已经设置了android支持库和googleplay服务的路径。即使是我的mapView也能工作(如果我在代码下面加了注释),这意味着google play服务已正确添加到项目中 public class GcmBroadcastReceiver extends WakefulBroadcastReceiver { @Override public
WakefulBroadcastReceiver无法解析为类型
。
我查了一下所有我能想到的可能的原因。我已经设置了android支持库
和googleplay服务
的路径。即使是我的mapView也能工作(如果我在代码下面加了注释),这意味着google play服务
已正确添加到项目中
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);
}
}
知道为什么会出现错误吗?确保您的项目中添加了最新的Android支持包。例如,有一个合适的
android-support-v4.jar
并演示了WakefulBroadcastReceiver
的使用,这是因为android-support-v4.jar
文件,请确保您有最新的。如果你认为你的项目中有它,那就做个小动作。在另一个项目中查找相同的文件,例如使用最新SDK创建新项目。将它的jar文件复制到您的项目中,并替换旧的jar文件。现在导入导入android.support.v4.content.WakefulBroadcastReceiver编码>并查看其工作情况。获取支持文件的最新版本。如果您使用的是Eclipse,请启动Android SDK管理器(窗口->Android SDK管理器)。在Extras->Android支持库下,您将看到是否有最新版本(如果没有,将显示更新可用)。更新后,软件包应显示在此处:/extras/android/support/
更多信息:我今天遇到了这个问题,下面是我如何解决的:
这是因为Android支持JAR没有像SDK管理器那样更新。
您可以将其从libs文件夹中删除,然后执行以下操作:
右键单击项目
转到Android工具
添加支持库
这是一个截图
然后返回课堂,按Ctrl+Shift+O组合键
它将导入丢失的库:
import android.support.v4.content.WakefulBroadcastReceiver;
Project>Clean
瞧 我也有同样的问题。我已经通过Android SDK管理器更新了“Android支持库”,但仍然找不到WakefulBroadcastReceiver
解决方案是您必须删除Android SDK管理器中的“Android支持库”,然后重新安装它
我不得不说为Android开发并不是一件愉快的事情。谷歌不推荐c2dm和com.Google.android.gcm.GCMBaseIntentService,因此所有关于android推送通知的教程都过时了。它对我有用
添加v-13 jar文件
`转到\projects\properties\java builded path\add external jar
您的jar文件位置是sdk\extras\android\support\v-13`旧的v4.jar文件已弃用!
请卸载并重新安装!将起作用;) 上面的答案不起作用,所以下面的程序解决了我的问题
如果所有答案都无效,请将目标设置为Project build target下的Properties->Android->选择goolgle API的->应用->确定
如果您没有将GoogleAPI设置为您的目标,这一点很明显 我和其他队友一样使用支持库。它可以在他们的机器上工作。@TobiasLindberg:这表明您有一个旧的JAR,它是在引入WakefulBroadcastReceiver
之前出现的。@Akash:进入SDK管理器,确保您已将最新的JAR下载到SDK安装中,然后确保项目中的JAR与SDK安装中的JAR匹配。R18支持包有一个文件大小为556198字节的JAR和ed257a47cae11af1a55614055b879947的md5sum
。这与我在回答中链接到的示例项目的GitHub repo中的JAR相同。您还可以通过ZIP实用程序检查JAR的内容,查看它是否包含WakefulBroadcastReceiver
。Android Studio:Add-in build.gradle这一行在dependencies
:编译'com.Android.support:support-v4:19.0.0'
(确保使用Android SDK管理器安装Android支持库之前)只需添加到@Laguiz注释中:您现在可以将19.0.0替换为20.0.0,因为支持库有一个新版本。我也有同样的问题,出于某种原因,即使我使用的是最新版本的支持库,库中也找不到此WakefulBroadcastReceiver。我有很多东西依赖于支持库,它们运行良好,例如支持库片段,所以我肯定有一个可用的支持库。@user1948603那么你是如何解决它的?我还没有解决它,我现在和你有完全相同的问题,但在我的情况下(不确定你的问题是否相同)我知道我已经正确设置了我的支持库,因为我正在使用该库中的所有类,只是这个WakefulBroadcastReceiver不想为我工作。@TobiasLindberg即使我在所有活动中都使用BroadcastReceiver,它也能工作。只有这一台坏了。嗯,在这种情况下,它不是正常的广播接收机,对吗?您的项目中是否有其他代码也使用支持库中的依赖项?我的应用程序使用外部库项目,默认情况下该项目依赖于过时的android-support-v4.jar
。在外部库项目上更新(替换)过时的android-support-v4.jar
成功了。效果非常好。谢谢到处寻找解决办法,但没有一个奏效。这是一个救命恩人!!!谢谢别忘了“以管理员身份运行”