package ******;
import android.util.Log;
import android.widget.Toast;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG =
MyFirebaseInstanceIDService.class.getSimpleName();
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String token = FirebaseInstanceId.getInstance().getToken();
sendToken(token);
}
private void sendToken(String token) {
final OkHttpClient client = new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("token",token)
.build();
final okhttp3.Request request = new okhttp3.Request.Builder()
.url("******")
.post(body)
.build();
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
斯塔克特莱斯
01-26 05:16:09.564: W/GLSUser(2025): [AppCertManager] IOException while
请求密钥:01-26 05:16:09.564:W/glsuser(2025):java.io.ioException:无效的设备密钥响应。01-26 05:16:09.564:W/Glsuser(2025):at
eka.a(:com.google.android.gms:271)
01-26 05:16:09.564: W/GLSUser(2025):
eka.a(:com.google.android.gms:4236)
01-26 05:16:09.564: W/GLSUser(2025): at ejz.a(:com.google.android.gms:46)
01-26 05:16:09.564: W/GLSUser(2025): at ejt.a(:com.google.android.gms:53)
01-26 05:16:09.564: W/GLSUser(2025): at ejs.a(:com.google.android.gms:111)
01-26 05:16:09.564: W/GLSUser(2025):at com.google.android.gms.auth.account.be.
legacy.AuthCronChimeraService.b
(:com.google.android.gms:4052)
01-26 05:16:09.564: W/GLSUser(2025):atdup.call(:com.google.android.gms:2043)
01-26 05:16:09.564: W/GLSUser(2025):a
java.util.concurrent.FutureTask.run(FutureTask.java:237)
01-26 05:16:09.564:W/glsuser(2025):at kmo.run(:com.google.android.gms:450)01-26 05:16:09.564:W/glsuser(2025):at java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1133)01-26 05:16:09.564:W/glsuser(2025):at java.util.concurrent.threadpoolexecutor$worker.run ID.gms:17)01-26 05:16:09.564:W/glsuser(2025):at java.lang.thread.run(thread.java:761)01-26 05:16:09.572:W/ContentTaskController(2025):向StartTracking提供了无效的newTask。
首先,添加一些日志记录,以便更好地了解发生了什么。例如,你曾经从Firebase得到过令牌吗?我怀疑不是。
其次,不要创建自己的线程实例来使用OKHTTP
进行异步调用,检查out.enqueue(...callback..)
[请参阅OKHTTP。
然而,在这种特殊情况下,我建议创建一个单独的IntentService来将Firebase令牌发送到服务器。这将调用持续时间、错误处理等从系统调用中分离到ontokenRefresh()
。在IntentServiceonhandleIntent()
中,可以使用OKHTTP
进行同步调用。保持一切美好和简单。
问题内容: 我正在使用以下代码创建多个JMS会话,以供多个使用者使用消息。我的问题是代码以单线程方式运行。即使消息存在于队列中,第二个线程也无法接收任何内容,而是继续轮询。同时,第一个线程完成对第一批的处理,然后返回并使用剩余的消息。这里的用法有什么问题吗? 问题答案: 您的问题是prefetchPolicy。 所有消息都被分派到第一个连接的使用者,当另一个连接时他没有收到消息,因此,如果您有一个
问题内容: 我正在尝试使用我一直在努力的客户端/服务器程序实现多线程。我需要允许多个客户端同时连接到服务器。我目前有4类:客户端,服务器,协议和用于处理线程的工作器。以下代码是我对这些类的拥有的代码: SocketServer类: SocketClient类别: 协议类别: ClientWorker类: 当我运行服务器和客户端时,一切正常。然后,当我尝试运行另一个客户端时,它只是挂在那儿,没有提示
我正在使用java客户端连接到hazelcast集群。每次我连接到集群时,我都会观察到在成员的jvm上创建了大约5个客户机线程。这些线程在被销毁之前会停留大约30-40秒。这些线是什么?如何控制创建的客户端线程数? 我正在使用hazelcast all。3.3.3
我有一个异步gRPC客户端,用于多线程环境。当多个线程通过客户端同时连接到服务时,我看到以下错误流: 请求似乎正在成功完成,但是,这些消息充斥着我的日志,让我感到紧张! 在我的测试中,每个线程创建自己的通道并提交自己的异步请求。无论服务负载如何,都会发生错误。如果客户端在不同的进程中运行,则不会发生错误。 我的设置: Python版本: version: 任何洞察都将不胜感激!
问题内容: 我正在使用Spring Boot应用程序开发应用程序服务器,但是现在我想知道Spring中默认的最大(客户端请求)线程池大小是多少,如何定制该值? 问题答案: 本文向大家介绍Spring的最大(客户端请求)线程池大小相关面试题,主要包含被问及Spring的最大(客户端请求)线程池大小时的应答技巧和注意事项,需要的朋友参考一下 假设您使用的是嵌入式,使用该属性来控制客户端请求线程池的大小
本文向大家介绍python多线程socket编程之多客户端接入,包括了python多线程socket编程之多客户端接入的使用技巧和注意事项,需要的朋友参考一下 Python中实现socket通信的服务端比较复杂,而客户端非常简单,所以客户端基本上都是用sockct模块实现,而服务 端用有很多模块可以使用,如下: 1、客户端 2、SocketServer模块 为了能够让多个客户端同时接入服务并进行通