明星的jpush module android 版本用于用Titanium开发Android消息推送功能,使用步骤如下:
1.从github上下载titanium_module_jpush_android;
2.从项目中找到titanium_module_jpush_android/android/dist/com.mamashai.jpush-android-3.0.8.zip,解压并将得到modules文件;
3.在需要消息推送的项目下新建modules目录用于存放所需的modules,因module为Android版本,所以modules下新建android文件夹;
4.将解压缩得到的modules目录下android下的com.mamashai.jpush拷贝到新建的android文件夹下;
5.在xxx.js你所需要添加消息推送的js文件下)下键入如下代码:
//订阅推送:
var push = require('com.mamashai.jpush');
push.setAlias(Ti.App.Properties.getString("userid", ""), function(e){
Ti.API.log("register to jpush code: " + e.code + ", token: " + e.device_token);
});
//接收推送:
var act = Titanium.Android.currentActivity;
var _intent = act.intent;
var str = _intent.getStringExtra("cn.jpush.android.EXTRA");
if (str && str.length > 0){
//push_call(_intent.getStringExtra("cn.jpush.android.ALERT"), JSON.parse(str));
//自己写的显示消息框方法
show_alert("提示", e.intent.getStringExtra("cn.jpush.android.EXTRA"));
}
//用户点击了推送
var bc = Ti.Android.createBroadcastReceiver({
onReceived : function(e) {
Ti.API.info("cn.jpush.android.PUSH_ID: " + e.intent.getStringExtra("cn.jpush.android.PUSH_ID"));
Ti.API.info("app: " + e.intent.getStringExtra("app"));
Ti.API.info("cn.jpush.android.ALERT: " + e.intent.getStringExtra("cn.jpush.android.ALERT"));
Ti.API.info("cn.jpush.android.EXTRA: " + e.intent.getStringExtra("cn.jpush.android.EXTRA"));
Ti.API.info("cn.jpush.android.NOTIFICATION_ID: "+ e.intent.getStringExtra("cn.jpush.android.NOTIFICATION_ID"));
Ti.API.info("cn.jpush.android.NOTIFICATION_CONTENT_TITLE: " + e.intent.getStringExtra("cn.jpush.android.NOTIFICATION_CONTENT_TITLE"));
Ti.API.info("cn.jpush.android.MSG_ID: " + e.intent.getStringExtra("cn.jpush.android.MSG_ID"));
Ti.API.info("cn.jpush.android.TITLE: " + e.intent.getStringExtra("cn.jpush.android.TITLE"));
Ti.API.info("cn.jpush.android.MESSAGE: " + e.intent.getStringExtra("cn.jpush.android.MESSAGE"));
Ti.API.info("cn.jpush.android.CONTENT_TYPE: " + e.intent.getStringExtra("cn.jpush.android.CONTENT_TYPE"));
var str = e.intent.getStringExtra("cn.jpush.android.EXTRA");
if (str && str.length > 0){
//自己写的显示消息框方法
show_alert("提示", e.intent.getStringExtra("cn.jpush.android.EXTRA"));
}
}
});
Ti.Android.registerBroadcastReceiver(bc, ['mamashai_jpush']);
//一定要释放掉,否则容易出问题
win.addEventListener("close", function(){
Ti.Android.unregisterBroadcastReceiver(bc);
});
//收到推送,还未打开
var bc2 = Ti.Android.createBroadcastReceiver({
onReceived : function(e) {
var json = JSON.parse(e.intent.getStringExtra("cn.jpush.android.EXTRA"));
//to do
}
});
Ti.Android.registerBroadcastReceiver(bc2, ['mamashai_jpush_received']);
//一定要释放掉,否则容易出问题
win.addEventListener("close", function(){
Ti.Android.unregisterBroadcastReceiver(bc2);
});
6.在tiapp.xml文件下键入如下代码:
com.mamashai.jpush
7.注册并登录Jpush后,在控制台创建应用,获得AppKey;
8.在tiapp.xml文件下的
内键入如下代码:
将如上代码中的包名和AppKey替换成你自己的(AppKey从Jpush的应用管理中得到)
9.运行项目;
10.在Jpush中推送消息,测试能否实现消息推送(确保测试时客户端联网),另外,如果通知栏下拉菜单图标不显示请换个手机品牌试一下,coolpad发现就不显示图标。