Titanium 使用刘明星的Jpush module做android端的消息推送
16lz
2021-12-04
明星的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发现就不显示图标。
更多相关文章
- Android(安卓)EditText不弹出软键盘
- Android(安卓)Manifest文件中meta-data的配置读取
- Android(安卓)SDK Manager 无法更新SDK
- Android(安卓)中的 Looper 对象
- android中handler的使用
- android之HandlerThread类的实现
- Android消息处理机制1——Handler
- Android(安卓)实现闪屏页和右上角的倒计时跳转
- Android四大组件之~~BroadcastReceiver