从网络上搜索到的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. IE浏览器URL中的查询条件中包含中文时报404的解决办法

    情况是比如我输入如下URL到IE浏览器: http://localhost:8090/RPT_TYSH_JL_ZD_DETAIL.html?pageIndex=1&year=2018& ...

  2. C#的String.Format举例

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  3. SQLAlchemy如何筛选值为None的列?那么django呢

    示例 from sqlalchemy import create_engine, MetaData, and_, or_, TIMESTAMP Plugin.query.filter(and_(Plu ...

  4. 【转载】Bios报警声

    BB是报警的声音你可以根据报警声音长短,数目来判断问题出在什么地方 AWARD BIOS响铃声的一般含义是: 1短: 系统正常启动.这是我们每天都能听到的,也表明机器没有任何问题. 2短: 常规错误, ...

  5. 除了 UCAN 发布的鹿班和普惠体,这些设计工具也来自阿里

    在 4 月 27 日的 UCAN 2019 设计大会上,阿里巴巴对外发布了一款全新免费字体——阿里巴巴普惠体.其实,作为经济体的阿里巴巴,这些年早已默默推出了很多实用的设计工具,比如大名鼎鼎的 Ico ...

  6. sqlite3数据库修复SQLite-database disk image is malformed

    目录 sqlite3数据库修复SQLite-database disk image is malformed title: sqlite3数据库修复SQLite-database disk image ...

  7. js监听屏幕的高度变化

    之前用VUE写完一个聊天界面,对于ios的效果该优化的地方都已经优化,且已上线.现在因项目需要,在另外一个angularjs+ionic的框架也要写一个聊天页面,目前还在开发中,发现忘记了一些很关键的 ...

  8. 如何获得select被选中option的value和text和......

    我想获取select选中的value,或者text,或者…… 比如这个: <select id="select"> <option value="A&q ...

  9. [转帖]密钥库文件格式(Keystore)和证书文件格式(Certificate)

    密钥库文件格式[keystore]代码 https://blog.csdn.net/zzhongcy/article/details/22755317 格式 : JKS 扩展名 : .jks/.ks ...

  10. Django使用DataTables插件总结

    Django使用Datatables插件总结 文章中的例子已上传至github 基本使用 Datatables插件是一款方便简单的展示数据的列表插件.关于基本使用,官方网站上的已介绍的很详细,这里我再 ...