我正在尝试制作一个通过套接字连接到服务器的通知应用程序。我希望在用户未打开我的应用时,在后台运行一些服务,类似于许多电子邮件/聊天应用,以便用户能够接收通知。
我有一个问题,每当我清除最近的应用程序时,服务就会被杀死。
以下是我尝试过的:
>
重写启动命令以返回START_STICKY
@Override
protected void onHandleIntent(Intent intent) {
// Socket.io
mSocket.on("debug-listing", new Emitter.Listener() {
@Override
public void call(final Object... args) {
mHandler.post(new Runnable() {
@Override
public void run() {
// I want this to run in the background
String msg = (String) args[0];
Intent done = new Intent();
done.putExtra("title", msg);
done.putExtra("id", idCount++);
done.setAction("action");
sendBroadcast(done);
}
});
}
});
mSocket.connect();
Notification n = new Notification.Builder(this)
.setContentTitle("Test")
.setContentText("Test")
.setSmallIcon(R.drawable.ic_stat_ic_notification)
.build();
startForeground(421941, n);
}
每当我的应用程序被打开/最小化时,我都会收到通知,但一旦我清除最近的应用程序,它就会被杀死。如何防止这种情况发生?
我想出来了。
我重写了onCreate函数,将所有套接字。io事件处理程序,以及注册我希望在事件发生时向其广播的任何广播接收器(也称为我希望发送通知)。
我在里面叫onStart。在我的套接字变量上连接(),并返回START_STICKY,当我清除最近的应用程序时,它会重新启动我的服务。
我什么都不做。
我想接下来的问题是,为什么我不在OnHandleContent中做任何事情(我不应该使用IntentService吗?我应该使用Service吗),但这可以在另一个线程上进行。不过,请多加解释!
我有一个正在运行的nodejs服务器(通过浏览器,socket.io工作得非常好,可以发射和接收事件)。为了方便地模拟联机连接,im使用ngrok.io来隧道我的本地主机。这一切都很好。我想编写一个连接到同一服务器的小应用程序,但是虽然我的服务器能够累加socket.connect()调用,但它不能累加任何。emit()事件。 (我使用com.github.nkzawa:socket.io-cli
后台服务是停止的,从最近在oppo&vivo手机中删除我的应用程序时,&广播累西弗在那种情况下也不工作。
嗨,我正在尝试从PHP向socketio服务器发出事件。这两个叉子我都试过了: https://github.com/rase-/socket.io-php-emitter https://github.com/ashiina/socket.io-php-emitter 你知道我做错了什么吗?
Socket.io 是一款非常流行的应用层实时通讯协议和框架,可以轻松实现应答、分组、广播。hyperf/socketio-server 支持了 Socket.io 的 WebSocket 传输协议。 安装 composer require hyperf/socketio-server hyperf/socketio-server 组件是基于 WebSocket 实现的,请确保服务端已经添加了
问题内容: 我想使用socket.io将数据从服务器推送到浏览器,但是该项目是java tomcat之一,并且 Github中 有许多实现的服务器实现。他们中的大多数人都说 过时了, 或者有更好的版本可用。谁能建议我一个好的实现。 而且,我看到了许多有关使用广播的演示和示例代码。我的要求是将不同的消息推送到不同的客户端。有人可以指出一些有关此类内容的优秀演示或教程吗? 谢谢 问题答案: 作为作者,
因此,活动将运行并停止服务,该服务将运行并停止服务。 我的问题是创建了的多个实例,该活动还创建了的多个实例。 因此,我希望将这两个作为运行,但我不确定如何这样做。 如果有必要,我可以发布一些我所拥有的示例代码,但我真正寻找的是一个操作方法。