我正在开发一个Android应用程序,其中我使用一个意图服务,以一定的周期更新位置到我的firebase项目。但看来我相当早就碰壁了。当我在服务中给出我的firebase数据库的根引用时,它崩溃了。
import android.app.IntentService;
import android.content.Intent;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class LocationUpdater extends IntentService{
public LocationUpdater() {
super("LocationUpdater");
}
@Override
protected void onHandleIntent(Intent intent) {
synchronized (this){
try{
wait(2000);
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
什么也不做,它很好。但当我添加这一行时:
private DatabaseReference mRoot = FirebaseDatabase.getInstance().getReference();
就在LocationUpdater构造函数的上方,应用程序崩溃了。你知道为什么会这样吗?提前感谢!
这是logcat中的错误输出:
java.lang.RuntimeException: Unable to instantiate service com.mohana.cluster.LocationUpdater: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mohana.cluster. Make sure to call FirebaseApp.initializeApp(Context) first.
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3168)
at android.app.ActivityThread.-wrap5(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1563)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mohana.cluster. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.mohana.cluster.LocationUpdater.<init>(LocationUpdater.java:11)
at java.lang.Class.newInstance(Native Method)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3165)
at android.app.ActivityThread.-wrap5(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1563)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
您试图获取一个Firebase实例,而不是一开始就实际初始化它。在尝试调用Firebase的实例之前,请确保您初始化了Firebase。
FirebaseApp.InitializeApp(this);
我见过许多问题,询问为什么一个应用程序会崩溃,错误日志如下:未能获得FirebaseDatabase实例:FirebaseApp对象在其FirebaseOptions对象中没有DatabaseURL。 我通过Android Studio配置了firebase。 我仍然会遇到错误。 我相信google-services.json文件没有错误,因为它是由Android Studio自动创建的。 任何帮
我一直试图从firebase实时数据库中获取一些上传的数据,但应用程序一直崩溃。 我将从“profile_tab”转到“project_creation_activity”,以便将数据上载到Firebase,处理数据上载的代码如下所示 行Profile_Tab行511是:
我正试图用下面的“为Android设置Firebase实时数据库”的例子写入我的数据库,但应用程序在启动时崩溃。 似乎是因为依赖: 我的应用程序Build.Gradle: 如何解决此问题?
我已经升级了我的应用程序以支持SDK26,现在Google Analytics在Android Oreo上运行时会导致崩溃: 致命异常:java.lang.RuntimeException:无法启动接收方com.google.android.gms.analytics.analyticsReceiver:java.lang.IllegalStateException:不允许启动服务意图{act=c