Ionic app 通知在Moto 360 Watch上显示通知(2)
在前一篇文章中,我们已经将Wtach的环境测试成功,下面进入我们自己消息的接收。
1.安装JPush插件在我们的App中,这个具体步骤可以参考 Ionic 安装JPush过程
2.在App上的登录模块设置别名,因为我们的目标是,根据不同的账户发送不同的消息。
.controller("LoginController",function ($scope, $state, AccountService, $rootScope, $stateParams, $ionicHistory, $ionicPopup, $cordovaToast,Storage) {
try
{
$scope.flag = $stateParams.flag;
$scope.hide = "";
$scope.user = {};
$scope.doLogin = function ()
{
if ($scope.user.uname)
{
var tips;
AccountService.userLogin($scope.user).then(function(loginCode)
{
if(loginCode && != loginCode)
{
tips = "登录成功";
Storage.set("LoginUser",loginCode);
$rootScope.user = loginCode;
var params = {
alias:$scope.user.uname
};
var dataAlias = JSON.stringify(params);
window.plugins.jPushPlugin.setAlias($scope.user.uname);
$ionicHistory.goBack();
}
else
{
if( == loginCode)
{
tips = "用户名或密码错误";
window.localStorage.user = null;
}
else
{
tips = "登录失败,请稍后再试!";
}
}
window.cordova && $cordovaToast.showShortBottom(tips);
});
}
};
}
catch (error)
{
$scope.hideLoad();
console.log("exception:"+error);
}
})
红色部分是重点,记录了每一个用户的登录名,以后就会给这个登录名发送通知。原则上App打包安装,可以通过Jpush的官网测试效果了,不过我打算通过应用程序自己发送消息。
3.C# Client端程序调用Jpush Api发送消息,首先去JPush官网下载dll
public bool SendMessage(string alias, string message)
{
bool isSuccess = true;
JPushClient client = new JPushClient("******", "7777&&&&&&"); PushPayload pushpayload_alias = new PushPayload();
pushpayload_alias.platform = Platform.android();
pushpayload_alias.audience = Audience.s_alias(alias);
pushpayload_alias.notification = new Notification().setAlert(message); try
{
var result = client.SendPush(pushpayload_alias);
if (result.isResultOK())
{
isSuccess = true;
}
else
{
isSuccess = false;
MessageResult = result.ResponseResult.exceptionString;
}
}
catch (APIRequestException er)
{
isSuccess = false;
MessageResult = er.Status.ToString() + ";" + er.ErrorCode + ";" + er.ErrorMessage;
}
if (isSuccess == false)
{
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd");
string content = date + "@" + alias + ":" + MessageResult + "\r\n";
WriteLog(content);
}
return isSuccess;
}
注意JPushClient对应的两个参数,是JPush分配给你的两个appKey和masterKey。
alias参数就是客户端登录的用户帐号名,message是通知的内容
4.发送消息的数据源,其中Sender对应App的登录名,MessageTest对应的通知/消息内容。

5.手机和Watch接收到通知的情况


到此,Watch就可以接收我们自己的消息了,然后去做具体的业务了。
Ionic app 通知在Moto 360 Watch上显示通知(2)的更多相关文章
- Ionic app 通知在Moto 360 Watch上显示通知(1)
手机与Moto 360 watch配对之后,watch上会接收到微信消息的通知,那么我们就可以利用这个特性开发一个App,在Watch显示我们自己的通知,具体过程如下 1.手机扫描二维码安装ticwa ...
- Android中使用Notification在状态栏上显示通知
场景 状态栏上显示通知效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新 ...
- ionic app打包和签名
ionic app打包和签名 1.首先在项目根目录执行 ionic platform add android 生成Android平台. 2.配置应用签名:在根目录下执行以下命令 keytool - ...
- Ionic App之国际化(3) json数组的处理
接上一篇Ionic App之国际化(2) json数组的处理 之后,如何处理json数据长度的问题,目前的一个折中方法是翻译长度字段. 多语言文件内容: "MyLa": { &qu ...
- Ionic app 上传图片之webApi接口
App上传图片对应的webApi服务端是怎么处理的呢? using System; using System.Collections.Generic; using System.Diagnostics ...
- Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件
上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...
- Delphi APP 開發入門(七)通知與雲端推播
Delphi APP 開發入門(七)通知與雲端推播 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數: ...
- 你的旧版本 App 为何运行在 iPhone 12 上没有异常?
背景 当我在 10月14日 iPhone 12 系列发布直播,看到 iPhone 12 系列的分辨率后,我注意到这些分辨率是全新的时,我立即在群里吐槽:又需要适配一波了.我只是以为宽高变化会导致字号变 ...
- 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载
title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...
随机推荐
- Salesforce的基础用户界面定制
Salesforce的用户界面 Salesforce的用户界面易于定制.本文将讲述如何定制: 主菜单和选项卡 自定义按钮和链接 视图列表 页面布局 定制主菜单和选项卡 Salesforce的主菜单默认 ...
- .Net Core(二)EFCore
EFCore与之前的EF基本类似,区别在于配置的时候有一些差异:也取消了DB First和Model First,仅保留广泛使用的Code First模式:也不再支持LazyLoad.这里就感受一下 ...
- Java并发编程(二)同步
在多线程的应用中,两个或者两个以上的线程需要共享对同一个数据的存取.如果两个线程存取相同的对象,并且每一个线程都调用了修改该对象的方法,这种情况通常成为竞争条件. 竞争条件最容易理解的例子就是:比如 ...
- 9.4、__del__、__doc__、__dict__、__module__、__getitem__、__setitem__、__delitem__、__str__、__repr__、__call__
相关内容: __del__.__doc__.__dict__.__module__.__getitem__.__setitem__.__delitem__.__str__.__repr__.__cal ...
- python第六十天-----RabbitMQ
RabbitMQ消息队列:默认为消息轮循模式,按client端启动是顺序接收 server端 import pika connection = pika.BlockingConnection(pika ...
- Jquery获取当前页面中的复选框选中的内容
在使用$.post提交数据时,有一个数据是复选框获取数据,所以在当前页面获取到复选框选中的值并提交到后端卡住了一下,解决方法如下: 这两个input就是复选框的内容: str += "< ...
- 说说Android6.0动态申请权限的那些坑
白天在做SDK23版本的适配,遇到了不少坑,现在抽空记下来,以此为戒. 首先要知道哪些坑,就得先了解一些定义和基本使用方式. 那么先介绍一下动态申请的权限分组情况. 下面的权限组是由谷歌官方定义的,目 ...
- Centos7下安装与卸载docker应用容器引擎
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- STL vector简单用法
初涉c++,此为<算法笔记>中的内容,有待个人理解完善. vector vector翻译为向量,叫做"变长数组"更容易理解. 头文件:#include<vecto ...
- ccf--20140303--命令行选项
本题是常规思路,这里要注意:1)带参命令没有参数和参数错误时终止2)命令不存在时终止3)命令都是错误的,不以—开头. 题目和代码如下: 问题描述 试题编号: 201403-3 试题名称: 命令行选项 ...