Ответ 1
Убедитесь, что в ваш проект добавлен последний пакет поддержки Android. Например, этот примерный проект имеет подходящий android-support-v4.jar
и демонстрирует использование WakefulBroadcastReceiver
.
В моем проекте отображается сообщение об ошибке WakefulBroadcastReceiver cannot be resolved to a type
.
Я искал все возможные причины, о которых я могу думать. Я установил путь android-support-library
и google 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);
}
}
Любая идея, почему это дает ошибку?
Убедитесь, что в ваш проект добавлен последний пакет поддержки Android. Например, этот примерный проект имеет подходящий android-support-v4.jar
и демонстрирует использование WakefulBroadcastReceiver
.
Сегодня у меня была эта проблема, как я ее исправил:
Это связано с тем, что поддержка JAR для Android не обновляется, как менеджер SDK. Вы можете удалить его из папки libs, а затем выполните следующее:
Вот скриншот
Затем вернитесь к своему классу hit Ctrl + Shift + O
Он импортирует вашу недостающую библиотеку:
import android.support.v4.content.WakefulBroadcastReceiver;
Project > Clean
и Voilà!!
Из-за файла android-support-v4.jar
убедитесь, что у вас есть последнее. Если вы думаете, что у вас есть это в своем проекте, просто сделайте трюк. Найдите тот же файл в другом проекте, скажем, создайте новый проект с последним SDK. Скопируйте файл jar в свой проект и замените старый. Теперь импортируйте import android.support.v4.content.WakefulBroadcastReceiver;
и увидите, что он работает.
Получите последнюю версию файла поддержки. Если вы используете Eclipse, запустите менеджер Android SDK (Window- > Android SDK Manager). В разделе "Дополнительно → Поддержка Android" вы увидите, есть ли у вас последняя версия (если не будет сказано, что обновление доступно). После обновления пакет должен появиться здесь:/extras/android/support/.
Дополнительная информация: http://developer.android.com/tools/support-library/setup.html
У меня та же проблема. Я обновил "Android support library" через Android SDK Manager, но до сих пор не могу найти WakefulBroadcastReceiver.
Решение - вам нужно удалить "Android support library" в Android SDK Manager и переустановить его!
Я должен сказать, что разработка для Android не радует. Google устарел на c2dm и com.google.android.gcm.GCMBaseIntentService, чтобы все учебные пособия по уведомлению об андроиде стали устаревшими.
Это работает для меня
Добавить v-13 jar file
`Перейти к \projects\properties\java built path\добавить внешнюю банку
И ваше местоположение файла jar - это sdk\extras\android\support\v-13`
Старый файл v4.jar устарел! Пожалуйста, удалите и установите снова! Будет работать;)
Вышеуказанный ответ не сработал, поэтому в приведенной ниже процедуре была исправлена моя проблема.
ЕСЛИ ни один из ответов не работает, установите для своей цели значение Properties->Android->Under Project build target Select the goolgle API ->Apply -> OK
Это очевидно, если вы пропустили установку Google API в качестве своей цели.