首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能从静态上下文引用非静态字段mFirebaseAnalytics。

不能从静态上下文引用非静态字段mFirebaseAnalytics。
EN

Stack Overflow用户
提问于 2019-12-19 18:29:14
回答 1查看 160关注 0票数 0

我正在使用Buildbox。我在Buildbox中定义了一个自定义openURL方法。我正试图用事件来追踪世界。如何在静态方法中达到非静态mFirebaseAnalytics实例?

代码语言:javascript
复制
package com.secrethq.utils;

import java.lang.ref.WeakReference;
import java.io.File;
import java.io.FileFilter;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.regex.Pattern;
import java.nio.IntBuffer;

import com.google.firebase.analytics.FirebaseAnalytics;

import android.app.Activity;


public class PTServicesBridge extends Activity
    implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {

    private FirebaseAnalytics mFirebaseAnalytics;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
    }


    public static void openUrl( String url ){
        Log.v(TAG, "PTServicesBridge  -- Open URL " + url);

        PTServicesBridge.urlString = url;

        Bundle params = new Bundle();
        params.putString("levelname", url);
        mFirebaseAnalytics.logEvent("levels", params); //Problematic line it gives error.



    }


}

问题行:

代码语言:javascript
复制
 mFirebaseAnalytics.logEvent("levels", params); //Problematic line it gives error.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-19 18:45:31

我只是挖出了内置的代码,这里是你如何完成你的任务!

使用PTServicesBridge.s_activity获取方法中的FirebaseAnalytics实例。

代码语言:javascript
复制
public static void openUrl( String url ){
        Log.v(TAG, "PTServicesBridge  -- Open URL " + url);

        PTServicesBridge.urlString = url;

        Bundle params = new Bundle();
        params.putString("levelname", url);

        // Get FirebaseAnalytics Object
        FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(PTServicesBridge.activity);
        mFirebaseAnalytics.logEvent("levels", params); //Problematic line it gives error.
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59415147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档