`
zero1111
  • 浏览: 15263 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Cordova集成 jpush之从消息中心打开通知信息跳转

阅读更多
背景:在应用没有打开时,从消息中心打开消息,在Ionic 的框架中无法调用到jPushPlugin插件的receiveNotificationIniOSCallback; (JPush用的cn.jpush.phonegap.JPushPlugin 2.0.0 "JPush Plugin"--ionic plugin add https://github.com/DongHongfei/jpush-phonegap-plugin.git  )

解决方案在网上查了3天,最后总结如下:
在AppDelegate.m 中的 didFinishLaunchingWithOptions 方法中{
  // 原有代码

  //JPush添加代码

  // 再加入
   // add code
    if (launchOptions) {
        NSDictionary * notificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if(notificationKey){
            BOOL isActive;
            if (application.applicationState == UIApplicationStateActive) {
                isActive = TRUE;
            } else {
                isActive = FALSE;
            }
             NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"",@"isActive",nil];
            [userInfo addEntriesFromDictionary:notificationKey];
            [userInfo setValue: [[NSNumber alloc] initWithBool:isActive] forKey:@"isActive" ];
            double delayInSeconds = 3.0;//需要等待框架加载完成才能调用receiveNotificationIniOSCallback
          
            dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
            dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
               
                NSError  *error;
                NSData   *jsonData   = [NSJSONSerialization dataWithJSONObject:userInfo options:0 error:&error];
                NSString *jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
               
                NSString *javascript = [NSString stringWithFormat:@"window.plugins.jPushPlugin.receiveNotificationIniOSCallback('%@')",jsonString ];
               
                [viewController.webView stringByEvaluatingJavaScriptFromString:javascript];
               
            });
           
        }
    }
0
1
分享到:
评论

相关推荐

    cordova-jpush:极光推送

    JPush PhoneGap Plugin ###创建项目### cordova create 文件夹名字 包名 应用名字 cordova create Myproj com.myproj.jpush MyTestProj 添加平台 cd Myproj :不进入项目会出现[RangeError:Maximum call stack size...

    cordova跳转原生Activity

    本篇文章将详细介绍如何在Cordova中进行原生Activity的跳转,以及`HjkPlugin`可能涉及的相关知识点。 首先,理解Cordova的插件机制是至关重要的。Cordova通过插件系统连接Web层与原生层,使得JavaScript代码可以...

    android 第三方webview cordova的集成使用

    2. **创建Cordova项目**:打开命令行工具,全局安装Cordova,输入`npm install -g cordova`。然后使用`cordova create <项目目录> <包名> <应用名称>`创建一个新的Cordova项目。 3. **添加Android平台**:进入项目...

    cordova集成RS232串口通讯

    而“cordova集成RS232串口通讯”这个主题,涉及到的是如何在Cordova应用中实现与硬件设备通过RS232串行接口进行通信。 首先,了解RS232串口通讯的基础知识是必要的。RS232,全称是“Recommended Standard 232”,是...

    cordova在app内部指定浏览器打开链接插件

    标题中提到的“cordova在app内部指定浏览器打开链接插件”指的是一种Cordova插件,它允许开发者在混合移动应用(Hybrid Mobile Application)内部打开网页链接,而不是通过外部浏览器打开。这种插件通常用于需要在...

    cordova-plugin-background-notification:Cordova插件实现后台通知

    注意您的推送通知消息必须包含键“ content-available”:1 遵循,因此可与一起。 该插件利用了Cordova / PhoneGap的。 使用插件 插件使用configure(success, fail, option)方法创建对象window.plugins....

    Android Studio 原生项目集成 Cordova 插件演示示例

    > 此实例代码为 Android Studio 原生项目集成 Cordova 插件演示,而非通过 Cordova 直接编译,方便您在现有 Android Studio 项目中集成 Cordova 进行 H5 混合开发。 为了结构清晰及易维护性,项目分三个 Module ,...

    cordova项目集成二维码扫描

    在Cordova项目中集成二维码扫描功能,能够极大地提升用户体验,比如快速登录、数据交换或链接跳转等。本篇文章将详细介绍如何在Cordova项目中集成`cordova-plugin-qrscanner`插件,实现二维码扫描功能,并对样式进行...

    ionic+JPush

    在本文中,我们将深入探讨如何使用Ionic框架与JPush服务集成,实现移动应用的消息推送功能。Ionic是一个流行的开源HTML5移动应用框架,它基于AngularJS和Apache Cordova,允许开发者使用Web技术(如HTML、CSS和...

    ios-百度云推送Cordova集成iOS插件.zip

    6. **修改配置文件**:在Xcode中打开Cordova的iOS项目,找到`config.xml`文件,添加必要的配置信息,如设置插件的权限、启动配置等。 7. **实现推送服务**:在JavaScript代码中,引入插件并进行初始化,注册设备...

    百度地图定位Cordova插件

    【百度地图定位Cordova插件】是专门为Cordova框架设计的一款插件,它允许开发者集成百度地图服务到他们的移动应用程序中,实现精准的定位功能。Cordova是一个流行的开源框架,它使得开发者可以使用HTML5、CSS3和...

    cordova-plugin-wechat-master

    在这个标题为“cordova-plugin-wechat-master”的项目中,我们关注的是一个针对Cordova的微信分享插件,这对于想要在Cordova应用中集成微信社交功能的开发者来说,是一个非常实用的资源。 微信是中国最流行的社交...

    cordova显示角标插件

    6. 集成进应用:将这些API集成到你的Cordova应用中,当接收到新通知或者有其他需要提示用户的内容时,调用相关方法更新角标。 7. 配置权限:在Android平台上,可能还需要在`AndroidManifest.xml`中添加相应的权限,...

    cordova 和原生交互 调用h5页面

    8. **处理页面间跳转**:如果需要在H5页面之间导航,可以使用JavaScript的`window.location.href`或者使用Cordova提供的`window.cordova.InAppBrowser`插件来打开新页面。 9. **原生与H5交互**:Cordova提供了一套...

    jpush-phonegap-plugin:JPush的官方支持的PhoneGapCordova插件(Android和iOS)。极光推送官方支持的PhoneGapCordova插件(Android和iOS)

    JPush PhoneGap / Cordova插件 极光官方支持的cordova推出插件。 如需要IM功能的插件,可关注 如需要短信验证码功能插件,可关注 如需要统计分析功能插件,可关注 注意:插件从v3.4.0开始支持cordova-android 7.0.0...

    TestUmengAnalytics:cordova集成友盟统计

    Cordova集成Umeng统计 + Bugly全量更新(android) [TOC] 一、Umeng统计准备工作- 本地能正常运行cordova、android- 在友盟注册了应用 (http://mobile.umeng.com/apps)- 下载友盟移动统计SDK ...

    cordova二维码扫描插件

    Cordova二维码扫描插件是移动应用开发中的一个重要工具,它结合了Cordova框架与二维码识别技术,使得原生移动应用能够方便地集成二维码扫描功能。Cordova是一个流行的开源框架,它允许开发者使用HTML、CSS和...

    meteor-cordova-notifications, 使用 Meteor 构建的Cordova应用程序的简单推送通知.zip

    meteor-cordova-notifications, 使用 Meteor 构建的Cordova应用程序的简单推送通知 meteor-cordova-notifications[Gitter]...使用 Meteor 构建的Cordova应用程序的简单推送通知。为什么?

    cordova-sample:百度移动统计Cordova使用

    工程中已经集成了MTJ的SDK,以及百度移动统计Cordova插件,可以直接运行调试 JS Api调用示例,请查看$(home)/www/js/index.js 文件。 Android clone此代码库,并运行 cordova platform add android cordova prepare ...

Global site tag (gtag.js) - Google Analytics