从网络上搜索到的Demo,自己进行了稍微的改动

Signala类库从https://github.com/erizet/SignalA获得,不过相关引用有错误,需要手动修正。

下载相关源码

  1. package com.zsoft.SignalADemo;
  2. import android.app.Activity;
  3. import org.json.JSONArray;
  4. import com.zsoft.signala.hubs.*;
  5. import com.zsoft.signala.hubs.HubConnection;
  6. import com.zsoft.signala.transport.StateBase;
  7. import com.zsoft.signala.transport.longpolling.*;
  8. import android.content.OperationApplicationException;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.widget.EditText;
  12. /**
  13. * Created by King on 2016/8/3.
  14. */
  15. public class chatHubActivity extends Activity {
  16. private final static String TAG = "KING";
  17. private final static String HUB_URL = "http://192.168.1.110:8022/signalr/hubs";
  18. @Override
  19. protected void onCreate(Bundle savedInstanceState) {
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.chat_hub);
  22. beginConnect();
  23. }
  24. /**
  25. * hub链接
  26. */
  27. private HubConnection conn = new HubConnection(HUB_URL, this, new LongPollingTransport()) {
  28. @Override
  29. public void OnError(Exception exception) {
  30. Log.d(TAG, "OnError=" + exception.getMessage());
  31. }
  32. @Override
  33. public void OnMessage(String message) {
  34. Log.d(TAG, "message=" + message);
  35. }
  36. @Override
  37. public void OnStateChanged(StateBase oldState, StateBase newState) {
  38. Log.d(TAG, "OnStateChanged=" + oldState.getState() + " -> " + newState.getState());
  39. }
  40. };
  41. /*
  42. * hub代理 panderman 2013-10-25
  43. */
  44. private IHubProxy hub = null;
  45. /**
  46. * 开启推送服务 panderman 2013-10-25
  47. */
  48. private void beginConnect() {
  49. try {
  50. //服务器端的HUB为ChatHub
  51. hub = conn.CreateHubProxy("ChatHub");
  52. } catch (OperationApplicationException e) {
  53. e.printStackTrace();
  54. }
  55. hub.On("addNewMessageToPage", new HubOnDataCallback() {
  56. @Override
  57. public void OnReceived(JSONArray args) {
  58. EditText chatText = (EditText) findViewById(R.id.chat_text);
  59. //chatText.setText(args.toString());
  60. for (int i = 0; i < args.length(); i++) {
  61. chatText.append(args.opt(i).toString());
  62. }
  63. }
  64. });
  65. conn.Start();
  66. }
  67. }

(转)android(SignalA)接收.net(SignalR)推送过来的消息的更多相关文章

  1. Android 基于Netty接收和发送推送解决方案的消息字符串(三)

    在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> .我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...

  2. ionic 前端接收到后台推送来的消息后,显示在手机的通知栏上

    这里主要用到cordova提供的插件:(在app没有关闭的情况下只要有推送的消息就会有提醒,但是在app关闭的情况下就不会提示) 首先安装cordova-plugin-local-notificati ...

  3. Android APP切换到后台接收不到推送消息

    1.   Android端进程被杀死后,目前自带的保护后台接收消息活跃机制.暂时没有什么好的机制保持任何情况下都活跃 android原生系统用home键杀进程可以起来,如果是强行停止就只能用户自己手动 ...

  4. IOS 在不打开电话服务的时候,可以响应服务器的推送消息,从而接收服务器的推送消息

    在做即时通讯(基于xmpp框架)的时候遇到这样一个问题,就是在真机测试的时候,你按Home键返回桌面,在你返回桌面的时候,这是你的程序的挂起状态的,在你挂起的时候, 相当于你的程序是死的,程序的所有进 ...

  5. Java企业微信开发_05_消息推送之发送消息(主动)

    一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接 ...

  6. springboot整合websocket实现一对一消息推送和广播消息推送

    maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  7. Java企业微信开发_04_消息推送之发送消息(主动)

    源码请见: Java企业微信开发_00_源码及资源汇总贴 一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息 ...

  8. Docker最全教程之使用.NET Core推送钉钉消息(十九)

    前言 上一篇我们通过实战分享了使用Go推送钉钉消息,由于技痒,笔者现在也编写了一个.NET Core的Demo,作为简单的对照和说明. 最后,由于精力有限,笔者希望有兴趣的朋友可以分享下使用CoreR ...

  9. Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最新攻略

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_163 首先得明确一点,和Django一样,在2020年Flask 1.1.1以后的版本都不需要所谓的三方库支持,即Flask-Ce ...

随机推荐

  1. [System Design] Design a distributed key value caching system, like Memcached or Redis

    https://www.interviewbit.com/problems/design-cache/ Features: This is the first part of any system d ...

  2. 数据质量、特征分析及一些MATLAB函数

    MATLAB数据分析工具箱 MATLAB工具箱主要含有的类别有: 数学类.统计与优化类.信号处理与通信类.控制系统设计与分析类.图像处理类.测试与测量类.计算金融类.计算生物类.并行计算类.数据库访问 ...

  3. RabbitMQ简单实现,exchange四种模式,持久化

    RabbitMQ目录 一.简介,简单实现二.Exchange四种类型简单介绍三.消息确认,交换机.队列及消息持久化一.简介及简单实现RabbitMQ是一个消息代理:它接受并转发消息.你可以把它当成一个 ...

  4. 【Qt开发】QT4 升级到 QT5 改动

    QT4 升级到 QT5 改动: PC部分: [改 QTDIR 变量] 在工程根目录下找到 .user 文件 ,  如 InnoTabPlugin.vcxproj.user 修改指向你的 QT5 根目录 ...

  5. C# lambda查询带返回值

    问题来源: <深入理解C#(第3版)> 11页 具体如下: var lists=new List<string>{"111","222" ...

  6. 微信小程序的calc不生效处理

    大致文字初略的记录描述一下问题:外层是relative相对定位,内部一个view 需要绝对定位bottom的值为128rpx,同时还要兼容适配苹果x的底部,所以值是这样设置的: bottom: cal ...

  7. java中JDBC是什么?

    [学习笔记] JDBC是什么? JDBC即(java database connectivity数据连接).JDBC是Sun公司编的一堆类和方法,都封装在java.sql包中.你可以利用这堆类和方法来 ...

  8. .Net Core 3.0原生Json解析器

    微软官方博客中描述了为什么构造了全新的Json解析器而不是继续使用行业准则Json.Net 微软博客地址:https://devblogs.microsoft.com/dotnet/try-the-n ...

  9. git 使用中报错:LF will be replaced by CRLF in app.json

    git config --global core.autocrlf false //禁用自动转换

  10. 用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

    现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法 ...