Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 收到通知后应用程序崩溃_Android_Django_Firebase Cloud Messaging_Pusher - Fatal编程技术网

Android 收到通知后应用程序崩溃

Android 收到通知后应用程序崩溃,android,django,firebase-cloud-messaging,pusher,Android,Django,Firebase Cloud Messaging,Pusher,我正在尝试设置一个推送通知系统,为此,我将Firebase云消息传递与Pusher一起使用。我跟随,为了实现它 设置FCM时,我能够从FCM的仪表板发送通知。 然后,当我设置Pusher时,收到通知后,我的应用程序崩溃 我在互联网上查阅了多篇帖子,但我找不到任何能解决我问题的帖子。我已多次检查gradle文件中的依赖项 以下是我的MainActivity.java: import android.support.v7.app.AppCompatActivity; import android.o

我正在尝试设置一个推送通知系统,为此,我将Firebase云消息传递与Pusher一起使用。我跟随,为了实现它

设置FCM时,我能够从FCM的仪表板发送通知。 然后,当我设置Pusher时,收到通知后,我的应用程序崩溃

我在互联网上查阅了多篇帖子,但我找不到任何能解决我问题的帖子。我已多次检查gradle文件中的依赖项

以下是我的MainActivity.java:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.pusher.pushnotifications.PushNotifications;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        PushNotifications.start(getApplicationContext(), "9e3bfbb7-a6b0-4bcf-aa74-47b4b04fa530");
        PushNotifications.addDeviceInterest("hello");
    }
}
build.gradle(模块:应用程序)-依赖项

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-messaging:17.6.0'
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-auth:16.2.1'
    implementation 'com.pusher:push-notifications-android:1.4.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
为了发送通知,我使用Pusher网站提供的curl命令:

curl -H "Content-Type: application/json"      -H "Authorization: Bearer 99E1F894C23ECD14DE98003053B3AFC1D3A4335C97C0D1DF5E1105C719979CA3"      -X POST "https://9e3bfbb7-a6b0-4bcf-aa74-47b4b04fa530.pushnotifications.pusher.com/publish_api/v1/instances/9e3bfbb7-a6b0-4bcf-aa74-47b4b04fa530/publishes"      -d '{"interests":["hello"],"fcm":{"notification":{"title":"Hello","body":"Hello, world!"}}}'
我的应用程序检测到通知,但在收到通知时崩溃,出现以下错误:

I/FCMMessageReceiver: Got a valid pusher message.
E/AndroidRuntime: FATAL EXCEPTION: Firebase-WrappedFirebaseMessagingService
    Process: com.example.fcmapp, PID: 10924
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
        at android.content.ContextWrapper.getPackageName(ContextWrapper.java:142)
        at com.google.firebase.messaging.zzb.<init>(Unknown Source:5)
        at com.google.firebase.messaging.FirebaseMessagingService.zzd(Unknown Source:58)
        at com.google.firebase.iid.zzb.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:6)
        at java.lang.Thread.run(Thread.java:764)
I/FCMMessageReceiver:获取了有效的推送消息。
E/AndroidRuntime:致命异常:Firebase WrappedFriebaseMessageService
进程:com.example.fcmapp,PID:10924
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.String android.content.Context.getPackageName()”
位于android.content.ContextWrapper.getPackageName(ContextWrapper.java:142)
网址:com.google.firebase.messaging.zzb。(未知来源:5)
网址:com.google.firebase.messagingservice.zzd(未知来源:58)
访问com.google.firebase.iid.zzb.run(未知来源:2)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
位于com.google.android.gms.common.util.concurrent.zza.run(未知来源:6)
运行(Thread.java:764)

我发现了同样的问题。我改回
com.google.firebase:firebase消息:17.5.0
。问题已解决。

Hi,com.google.firebase:firebase messaging:20.0.0出现问题,计划降级其版本。到目前为止,您是否在17.5.0中遇到过任何问题?是否像20.0.0一样默认支持通知图像?这对我来说很有效,我的应用程序不再崩溃,但我没有收到通知。