phonegap+极光推送+页面跳转

最近公司使用sencha touch开发app需要实现推送的功能,本渣花了一周的时间才把安卓和ios都实现了推送已经跳转页面的功能。晚上关于推送的资料很少,关于推送后页面跳转的资料就更少了,所以这里记录一下怕以后忘了。

首先是安卓的实现方式(首先需要在极光推送上面去注册一个账号):

1:用sencha CMD创建st应用:

[plain]  view plain copy
  1. sencha -sdk D:\java\sencha-touch\touch-2.3.1 generate app FirstApp ../FirstApp  
这样就生成了一个标准的sencha touch文件

2:在刚在创建的st文件夹里面初始化phonegap(cmd里面的文件目录需要在文件夹下面)

[plain]  view plain copy
  1. sencha phonegap init com.cloudvast.FirstApp FirstApp  
com.cloudvast.FirstApp这个很重要,这个需要和你在极光推送里面创建的安卓的应用包名一致否则可能会出错。初始化了phonegap后文件夹下面的文件为:



需要先修改下phonegap.local.properties这个文件:




把这里的ios修改成android,因为我们现在打包的是安卓应用;


3:安装极光推送针对phonegap的插件,把cmd里面的目录cd到phonegap文件夹下

[plain]  view plain copy
  1. phonegap  plugin add https://github.com/jpush/jpush-phonegap-plugin.git  
安装成功后会多一个极光的插件包:


打开新生成的文件,选择push-sdk-release1.6.1.jar文件:



鼠标右键 > Build Path > add to Build Path添加到工程中

再打开相同目录下的JPushPlugin.java文件



找到这一行,把com.thi.pushtest修改为初始化phonegap用的那个包名,我这里修改后为:import com.cloudvast.FirstApp.R;,保存后关闭


找到 插件包下面的plugin.xml文件并打开:



找到这一行


在value里面填上我们在极光推送上面申请到的AppKey。


到此为止,phonegap集合极光推送就完成了,打包后就能正常的用推送了。接下来是实现页面跳转的功能:


找到插件包下面的JPushPlugin.js文件打开:


在文件中添加一段代码:

[javascript]  view plain copy
  1. JPushPlugin.prototype.getNotification = function(successCallback, data) {  
  2.     console.log("JPushPlugin:getNotification");  
  3.     try {  
  4.         ret = cordova.exec(successCallback, successCallback, 'JPushPlugin'"getNotification", [data]);  
  5.         return ret;  
  6.     } catch (exception) {  
  7.   
  8.         alert(exception);  
  9.     }  
  10. }  

然后在我们的sencha touch中的app.js文件中写逻辑代码


添加代码:

[javascript]  view plain copy
  1. document.addEventListener('resume'function() {  
  2.             window.plugins.jPushPlugin.getNotification(function(obj) {  
  3.                         // obj["message"]为收到的推送信息  
  4.                         if (obj["message"] != "") {  
  5.                             var EXTRA = obj.extras['cn.jpush.android.EXTRA'];  
  6.                             EXTRA = EXTRA.replace(/\\/g, "");  
  7.                             EXTRA = Ext.JSON.decode(EXTRA, true);  
  8.                             if (EXTRA.type == "mode") {  
  9.                                 Ext.getCmp('tab').setActiveItem(1);// 如果传递过来的type=='mode'就跳转到第二张页面  
  10.                             }  
  11.                         }  
  12.                     }, false);  
  13.         });  

EXTRA为极光推送发送通知的时候下面的可选设置中的附加字段。



最后把cmd的目录移动到phonegap目录下面执行打包操作:

[plain]  view plain copy
  1. sencha app build native  


打包完成后就在该目录下面生成了apk文件:



原文地址:http://blog.csdn.net/chen2991101/article/details/36215975

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值