gpt4 book ai didi

android - GCM 更新 7.5 到 8.3.0 致命异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:41 24 4
gpt4 key购买 nike

我尝试在我的 Gradle 项目中更新 GCM 服务(Google 云消息)库(从 7.5 到 8.3.0)。但是现在,有了这个新版本,我无法启动之前运行良好的 Activity 。

处理以下错误的代码是:

Intent in = new Intent(this, MyGcmListenerService.class);
startService(in);

MyGcmListenerService.java :

public class MyGcmListenerService extends GcmListenerService
{
private static final String TAG = "MyGcmListenerService";

@Override
public void onMessageReceived(String from, Bundle data)
{
Log.w(TAG, "onMessageReceived");
}

返回的错误:

FATAL EXCEPTION: AsyncTask #1
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
E/AndroidRuntime: at com.google.android.gms.gcm.GcmListenerService.zzo(Unknown Source)
E/AndroidRuntime: at com.google.android.gms.gcm.GcmListenerService.zza(Unknown Source)
E/AndroidRuntime: at com.google.android.gms.gcm.GcmListenerService$1.run(Unknown Source)
E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime: at java.lang.Thread.run(Thread.java:818)

Gradle 文件:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
}

如果我回滚到以前的 GCM 版本 (7.5),它会按预期运行。你知道发生了什么变化吗?我检查了变更日志,但找不到任何有关它的信息。 https://developers.google.com/android/guides/releases

谢谢你的帮助

最佳答案

尝试使用您的 IDE 查看 GcmListenerService 的反编译类文件。当我使用 8.3.0 版的 Android Studio 执行此操作时,似乎抛出异常的代码试图从调用服务的 Intent 中获取 ACTION。因为您是以明确的 Intent 调用服务,所以 ACTION 为空。

我想知道您为什么要显式调用 GcmListenerService 的子类?消息接收的正常 GCM 处理是将消息传送到 GcmReceiver,然后将其传递到应用程序的 GcmListenerService 实例进行处理。您不应该显式调用您的监听器服务,GcmReceiver 会这样做。看看 sample project .

关于android - GCM 更新 7.5 到 8.3.0 致命异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com