【问题标题】:How to use Firebase code in Services in android?如何在 Android 的服务中使用 Firebase 代码?
【发布时间】:2017-04-25 16:44:06
【问题描述】:

我正在 Android 中开发这个应用程序,它可以让我获取存储在 firebase 数据库中的新闻更新。现在我想要在我的数据库更新时收到通知。为此,我尝试使用服务,以便我可以在服务的 handleMessage 部分中运行 Firebase addValueEventListener,但我的应用程序在遇到 firebase 代码时会崩溃。有谁知道为什么会发生这种情况以及我该如何解决?

这是我的代码....

private final class ServiceHandler extends Handler {
    public ServiceHandler(Looper looper) {
        super(looper);
    }
    @Override
    public void handleMessage(Message msg) {
    try {
            Firebase ref = new Firebase(firebase_url);
            final Firebase ref_2013 = new Firebase(firebase_url + "Btech 2013" + "/posts");
            final Firebase ref_2014 = new Firebase(firebase_url + "Btech 2014" + "/posts");
            final Firebase ref_2015 = new Firebase(firebase_url + "Btech 2015" + "/posts");
            final Firebase ref_2016 = new Firebase(firebase_url + "Btech 2016" + "/posts");
   }catch (Exception e){
            Toast.makeText(NotificationService.this,"firebase and noti thrown",Toast.LENGTH_SHORT).show();
        }
 }

如果我做一些正常的工作,比如生成 toast,我的服务可以正常工作,但是当我使用 firebase 代码时它会崩溃

【问题讨论】:

  • 你能分享一下异常吗
  • 什么崩溃???请在您的日志中添加您的答案
  • 感谢您让我分享例外情况。我发现我没有使用 Firebase.setAndroidContext()。除了在服务类中,它在任何地方都可以正常工作(不使用它),所以我之前没有意识到

标签: android firebase-realtime-database


【解决方案1】:

我发现我没有使用 Firebase.setAndroidContext()。除了服务类之外,它在任何地方都可以正常工作(不使用 setAndroidContext() ),所以我之前没有意识到。

因此,在使用对 Firebase 的任何引用之前,我们必须在 onCreate() 或 onhandleMessage()(用于服务类)中使用 Firebase.setAndroidContext(),否则它可能会在服务中的某些地方崩溃

【讨论】:

    猜你喜欢
    • 2018-08-15
    • 2014-03-06
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多