由于项目的需求,需要将推送做到客户端。用的引擎是cocos2dx的。但是我看了下,大概思路还是安卓普遍都可以使用的。
大致思路就是建立一个service,然后在service中不断的去判断当前时间是否达到了指定时间,打到了指定时间就用安卓的notification进行推送。
首先在c++中定义一个Notification的管理类:
#ifndef __CCNOTIFICATIONMANAGER_H__#define NM CCNotificationManager::getNotificationManager()#include "GlobalHead.h"class CCNotificationManager{public: static* getNotificationManager();void notification(constchar message, int delay repeats key);private(); m_pNotifiMgr;};#endif
void notification(const char * message,int delay,int repeats,const char * key); 的作用就是将需要的类容,时间等 发送到java那边进行存储。
"CCNotificationManager.h"#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)"CCNotificationHelper.h"#elif(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)"CCNotificationAndroid.h"#endifCCNotificationManagerm_pNotifiMgr = NULL;"..\Player\FmLocalPlayer.h"CCNotificationManager::CCNotificationManager(){}CCNotificationManager{ifNULL ) m_pNotifiMgr newreturn;}}notification){#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) // CNH->pushMessage(message,delay,repeats,key ); CNH->pushMessagemessage 0);long time GetLocalPlayer()->getCurrentTime java_push#endif}
iso的展示不需要去看。