【发布时间】:2017-08-15 15:21:07
【问题描述】:
我有public class MyFirebaseInstanceIdService 在应用程序处于后台时处理 Firebase 通知。
public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
MainActivity.sendRegToken();
}
}
MainActivity
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
WebView webView = (WebView) findViewById(R.id.webView);
public void sendRegToken() {
String recent_token = FirebaseInstanceId.getInstance().getToken();
webView.loadUrl("javascript:sendRegToken('"+recent_token+"');");
}
}
我需要访问webView,以便我可以致电loadUrl。 sendRegToken() 是一种非静态方法,我正在尝试从静态上下文中访问它。我不能将sendRegToken() 设为静态,因为它包含非静态webView。我该如何解决这个问题?
【问题讨论】:
-
您真的需要
WebView来发送令牌吗?WebView主要是一段 UI,绑定到Activity。即使有办法将其用作非 UI 元素,也可能不是最好的方法,并且可能实现代码以将令牌作为本机发送将是更好的解决方案。
标签: java android firebase firebase-notifications