当前位置: 首页 > 面试题库 >

无法解析符号“ GoogleCloudMessaging” GCM

欧阳何平
2023-03-14
问题内容

我正在尝试GCM在我的应用程序中工作(在工作时间变更或正在进行任何促销时通知用户),但是Cannot resolve symbol 'GoogleCloudMessaging'在尝试使用Google Cloud Messaging API时,我一直收到错误消息。

我正在使用新发布的Android Studio IDE对此进行编码。

这是我的GcmBroadcastReciever.java代码:

import android.R;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class GcmBroadcastReceiver extends BroadcastReceiver 
{
    static final String TAG = "GCMDemo";
    public static final int NOTIFICATION_ID = 1;
    private NotificationManager mNotificationManager;
    Context ctx;
    GoogleCloudMessaging gcm; // I get the error here

    @Override
    public void onReceive(Context context, Intent intent) {
        GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); //error
        ctx = context;
        String messageType = gcm.getMessageType(intent); //cannot resolve method here
        if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { //error
            sendNotification("Send error: " + intent.getExtras().toString());
        } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) { //error
            sendNotification("Deleted messages on server: " +
                    intent.getExtras().toString());
        } else {
            sendNotification("Received: " + intent.getExtras().toString());
        }
        setResultCode(Activity.RESULT_OK);
    }

    // Put the GCM message into a notification and post it.
    private void sendNotification(String msg) {
        mNotificationManager = (NotificationManager)
                ctx.getSystemService(Context.NOTIFICATION_SERVICE);

        PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0,
                new Intent(ctx, Activity.class), 0);

        Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show();
    }
}

问题答案:

以下各节将指导您完成设置GCM实施的过程。开始之前,请确保设置Google Play服务SDK。
您需要此SDK才能使用GoogleCloudMessaging方法
。严格来说,您唯一需要此API的唯一东西是上游(设备到云)消息传递,但它还提供了推荐的简化注册API。

您是否设置了Google Play服务SDK?

你必须 :

  1. 安装Google Play服务SDK
  2. <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/在您的Android项目中引用库项目。

安装Google Play服务SDK进行开发,请执行以下操作:

 1. Launch the SDK Manager.
     - From Eclipse (with ADT), select Window > Android SDK Manager.
     - On Windows, double-click the SDK Manager.exe file at the root of

the Android
SDK directory.
- On Mac or Linux, open a terminal and navigate to the tools/
directory in
the Android SDK, then execute android sdk.
2. Install the Google Play services SDK.
Scroll to the bottom of the package list, expand Extras, select
Google Play
services, and install it.
The Google Play services SDK is saved in your Android SDK
environment at
/extras/google/google_play_services/.
3. Install a compatible version of the Google APIs platform.
If you want to test your app on the emulator, expand the directory
for
Android 4.2.2 (API 17) or a higher version, select Google APIs, and
install it. Then create a new AVD with Google APIs as the platform
target.
Note: Only Android 4.2.2 and higher versions of the Google APIs
platform
include Google Play services.



 类似资料:
  • 代码运行,但无法获得函数、类等的建议。 谢谢

  • 问题内容: 我正在按照以下链接实施Firebase Messaging,以将消息发送到多个设备 https://firebase.google.com/docs/cloud-messaging/android/send- multiple#build_send_requests 我几乎完成了实现,但停留在最后阶段(构建发送请求) 在下面的代码中 我遇到了错误 也在线 当我按住Ctrl键并单击sen

  • 问题内容: 我正在尝试为我的应用添加loginfacebook。但是,当我添加执行此操作所需的存储库时。它导致了错误。AndroidJUnit4现在无法解析。 ExampleInstrumentedTest.java 这是我的build:gradle(app) 问题答案: 尝试 添加以下上面的依赖项部分

  • 问题内容: 在我的项目中,我遇到了一个错误: 检索项目的父项时出错:找不到与给定名称“ android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。 然后我尝试使用以下方法修复它: 但是后来我得到了错误: 无法解析符号NameValuePair android 如何解决这个错误? 问题答案: 是已弃用并已被删除的软件包的一部分,这是您正在

  • 问题内容: 我收到错误 消息“无法解析符号“ OnClickListener” 和 “无法解析符号“ V””, 我开始使用Java,因此我不太擅长此语言,并且对语言不太熟悉 我的代码: 问题答案: 我不确定您为什么要这样做,但请将初始化和侦听器移至: 只需剪切以下代码行: 并将它们粘贴到: 然后阅读编码的基础及其标准。

  • 我刚刚试着用了Android Studio。我创建了空白项目,并尝试创建,它扩展了。不幸的Android Studio“说”它 无法解析符号“AppCompattivity” 我有并多次重建项目。但是,我只能使用。我做错了什么?