Подтвердить что ты не робот

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);
    }
}

Любая идея, почему это дает ошибку?

4b9b3361

Ответ 1

Убедитесь, что в ваш проект добавлен последний пакет поддержки Android. Например, этот примерный проект имеет подходящий android-support-v4.jar и демонстрирует использование WakefulBroadcastReceiver.

Ответ 2

Сегодня у меня была эта проблема, как я ее исправил:

Это связано с тем, что поддержка JAR для Android не обновляется, как менеджер SDK. Вы можете удалить его из папки libs, а затем выполните следующее:

  • щелкните правой кнопкой мыши проект
  • Перейдите в Инструменты для Android
  • Добавить библиотеку поддержки

Вот скриншот enter image description here

Затем вернитесь к своему классу hit Ctrl + Shift + O

Он импортирует вашу недостающую библиотеку:

import android.support.v4.content.WakefulBroadcastReceiver;

Project > Clean и Voilà!!

Ответ 3

Из-за файла android-support-v4.jar убедитесь, что у вас есть последнее. Если вы думаете, что у вас есть это в своем проекте, просто сделайте трюк. Найдите тот же файл в другом проекте, скажем, создайте новый проект с последним SDK. Скопируйте файл jar в свой проект и замените старый. Теперь импортируйте import android.support.v4.content.WakefulBroadcastReceiver; и увидите, что он работает.

Ответ 4

Получите последнюю версию файла поддержки. Если вы используете Eclipse, запустите менеджер Android SDK (Window- > Android SDK Manager). В разделе "Дополнительно → Поддержка Android" вы увидите, есть ли у вас последняя версия (если не будет сказано, что обновление доступно). После обновления пакет должен появиться здесь:/extras/android/support/.

Дополнительная информация: http://developer.android.com/tools/support-library/setup.html

Ответ 5

У меня та же проблема. Я обновил "Android support library" через Android SDK Manager, но до сих пор не могу найти WakefulBroadcastReceiver.

Решение - вам нужно удалить "Android support library" в Android SDK Manager и переустановить его!

Я должен сказать, что разработка для Android не радует. Google устарел на c2dm и com.google.android.gcm.GCMBaseIntentService, чтобы все учебные пособия по уведомлению об андроиде стали устаревшими.

Ответ 6

Это работает для меня Добавить v-13 jar file `Перейти к \projects\properties\java built path\добавить внешнюю банку

И ваше местоположение файла jar - это sdk\extras\android\support\v-13`

Ответ 7

Старый файл v4.jar устарел! Пожалуйста, удалите и установите снова! Будет работать;)

Ответ 8

Вышеуказанный ответ не сработал, поэтому в приведенной ниже процедуре была исправлена ​​моя проблема.

ЕСЛИ ни один из ответов не работает, установите для своей цели значение Properties->Android->Under Project build target Select the goolgle API ->Apply -> OK

Это очевидно, если вы пропустили установку Google API в качестве своей цели.