在 PhoneGap 插件中保留回调上下文?

2023-11-26

我需要实现一些在一定时间间隔内触发操作并将结果发送回 JavaScript 的功能。

为了简化事情,我将使用 PhoneGap 文档中的 echo 示例:

- (void)echo:(CDVInvokedUrlCommand*)command
{
  [self.commandDelegate runInBackground:^{

    CDVPluginResult* pluginResult = nil;
    NSString* echo = [command.arguments objectAtIndex:0];

    if (echo != nil && [echo length] > 0) {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
    } else {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
    }

    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

  }];
}

我想让这个调用与每秒的回显相同,直到stop叫做。

我创建了一个每秒调用另一个函数的计时器,但我不知道如何保留回调的上下文以将结果发送到。

//Starts Timer
- (void)start:(CDVInvokedUrlCommand*)command
{
  [NSTimer scheduledTimerWithTimeInterval:1.0
                                  target:self
                                  selector:@selector(action:)
                                  userInfo:nil
                                  repeats:YES];
}

//Called Action
-(void)action:(CDVInvokedUrlCommand*)command
{
  [self.commandDelegate runInBackground:^{

    NSLog(@"TRIGGERED");

  }];
}

任何将其保留在回调上下文中的帮助都会很棒。谢谢!


你会想要这样的东西:

NSString *myCallbackId;

作为实例级变量(在任何方法之外,因此它保留其值)。第一次进入插件代码时设置:

myCallbackId = command.callbackId;

然后,在实例化 PluginResult 之后、使用它之前,执行以下操作:

[pluginResult setKeepCallback:[NSNumber numberWithBool:YES]];

这将告诉它保持回调有效以供将来使用。

然后做类似的事情:

[self.commandDelegate sendPluginResult:pluginResult callbackId:myCallbackId];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PhoneGap 插件中保留回调上下文? 的相关文章

  • PhoneGap Cordova Admob 插件无法正常工作

    我正在使用这个 AdMob 插件 https github com rajpara11 phonegap plugins tree master Android AdMobPlugin https github com rajpara11
  • phonegap html5 android 同步文件系统 IO

    如何使用 PhoneGaps 文件系统 API 同步读写文件 有可用的同步包装器吗 无法通过提供的 api 同步访问文件 从phonegap的实现方式猜测 我怀疑您是否可以编写一个插件来同步执行此操作
  • cordova:从 url 下载到 android 下载文件夹

    在开始之前 我尝试了以下堆栈溢出的答案 使用phonegap将文件下载到ios android下载文件夹 https stackoverflow com questions 21375624 download file to downloa
  • phonegap:基于 cookie 的身份验证 (PHP) 不起作用 [webview]

    我正在开发一个移动网络应用程序 使用 sencha touch HTML5 和 Phonegap 作为包装器 我正在使用 PHP 身份验证 Cookie 和 ajax 请求 在 safari 或 chrome 上一切正常 但在使用phone
  • 文件 API - Phonegap?

    谁能解释如何使用适用于 Android 的 Phonegap 文件 API 在页面上列出文件文件夹 我想列出所有 mp3如果可能的话 请阅读文件 但已阅读所有phonegap文档 http docs phonegap com en 1 0
  • 如何在phonegap中同时使用相机API选择多个图像?

    如何同时选择或拾取多个图像phonegap camera API使用时Camera DestinationType FILE URI 我一次只能选择一张图像 我可以使用以下命令在 SD 卡中选择多个文件 包括 txt pdf this ht
  • 使用 cordova 工具集构建应用程序时出错

    我正在使用 Visual Studio 2017 社区版 并且只需使用 vs 文档中的步骤即可使用 macincloud 服务进行远程构建 我基本上遇到了以下明确的错误 来自构建服务器的远程构建错误https xxxx macincloud
  • PhoneGap闪屏可以显示gif图片吗?

    我尝试为我的phonegap应用程序设置启动画面图像 当我设置静态图像 例如png 时 一切顺利 现在我需要在启动屏幕上加载动画 我尝试设置 gif 图像而不是静态图像 但是 在我这样做之后 我无法再启动我的应用程序 phonegap启动画
  • 从相机拍照后图像未刷新

    我将这个简单的代码与 ionic 2 一起使用
  • 如何在Phonegap中扫描二维码

    我正在启动phonegap 并且在phonegap 中学习了许多插件 但是当我想在phonegap 中使用QR 扫描仪时 我遇到了困难 如果有的话给我任何解决方案 不久前在我的科尔多瓦应用程序中尝试过这种二维码扫描 希望它能正常工作 代码如
  • 如何在 iOS 上使用 PhoneGap 检测是否拨打电话

    在 iOS 上使用电话提示意图时 例如 window location telprompt phoneNumber 系统会提示用户拨打该号码或取消 有没有办法知道用户执行了这两个操作中的哪一个 查看 PhoneGap 文档 startcal
  • 如何在 Xcode 4 和 Cordova 中使用符号链接

    我无法让 Xcode 将 www 资源复制到我基于 PhoneGap 的 iPhone 应用程序 我考虑过使用 Git 子模块 但由于应用程序必须在不同的平台 iPhone Android 等 上运行 并且必须采用不同的品牌 图像 CSS
  • 添加媒体插件后 Ionic Cordova IOS 构建失败

    我正在使用 Ionic Framework 和 Cordova 开发一个移动应用程序 我尝试添加 Cordova 媒体插件 但它无法为我构建 我什至尝试创建一个新的启动选项卡项目 然后添加媒体插件 如图所示 由于添加了媒体插件 该项目无法编
  • PhoneGap - 构建错误

    我对phonegap非常陌生 并尝试通过输入phonegap上描述的命令来创建一个简单的测试应用程序install http phonegap com install webpage 不幸的是 我在命令行中收到以下错误 BUILD FAIL
  • 将 Cordova Android 项目迁移到 AndroidX

    我目前正在使用 AdMob 测试广告测试混合 Cordova Android 应用程序 该应用程序使用一个自定义插件 即内部插件 我可以通过该插件访问 Google Play Services AdMob API 的相关位plugin xm
  • Cordova 的内容安全策略未加载外部脚本和样式表(404 错误)

    我目前将 Cordova 的 Content Security Policy 元标记设置为 如果我运行 Android 模拟器 我会看到以下错误 拒绝加载样式表 https min css https min css 因为它违反了以下内容安
  • 使用phonegap发送电子邮件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 任何人都可以帮助使用 Phonega
  • cordova - 错误:无法获取平台 android

    我安装了 cordova 并创建了一个新项目 但是当我使用这个命令添加android平台时 cordova平台添加android 出现此错误 Error Failed to fetch platform android Probably t
  • Visual Studio Taco - Remotebuild 将不再部署到远程设备

    直到最近 2016 年 9 月 15 日左右 我还能够使用 VS2015 以及最新版本的 TACO 和 Remotebuild 来构建 Cordova 项目并将其部署到远程设备 iPhone 6 我现在运行的是 ios 10 并更新了 iT
  • 如何在phonegap应用程序中使用存储在localStorage中的json feed?

    这就是我正在做的 向我的网络服务器发出请求 响应采用 json 格式 使用 jquery 模板在我的应用程序中呈现回调数据 非常简单 就像魅力一样 问题是 我想在本地存储一些数据 这样我的应用程序就不必每次都从服务器获取它 3g 很慢 每笔

随机推荐

  • AWS Cognito - 从 ADFS 创建组作为 Cognito 组

    应用程序通过 Open ID Connect 协议与AWS认知 它连接到ADFS 通过 SAML 进行通信 Cognito 本质上是 代理 ADFS 服务器 ADFS 持有组映射应用程序需要的 我想将这些组作为实际的 Cognito 组导入
  • C++11 以字符串形式获取当前日期和时间

    在 C 11 中以字符串形式获取日期和时间的最先进方法是什么 我知道关于std put time 但参考文献说我只能在流中使用它 有std chrono system clock它提供了to time t返回时间为time t而且缺少日期
  • Laravel - 擦除包含特定字符串的所有缓存/redis 键

    是否可以使用 Laravel 删除 Redis 中与特定字符串匹配的所有键 例如 如果我想忘记具有单词 products 的键 它会忘记以下键 laravel 896235872385237588327582370375acaca23532
  • 字符串中的“\n”不起作用

    我有一小段适合我的操作系统的代码 print Type your document below print Press enter to save print Type n for a new line file input print E
  • Powershell New-PSSession 访问被拒绝 - 管理员帐户

    我尝试使用 powershell PSSession cmdlet 但我遇到了访问被拒绝错误 我尝试做的是使用管理员帐户运行命令New PSSession or Enter PSSession 不幸的是我收到访问被拒绝错误 我相信我正确地遵
  • 将值设置为 jquery 自动完成组合框

    我在用jquery 自动完成组合框一切都很好 但我也想通过 JavaScript 设置特定值 例如 value val somevalue 它设置为选择元素 但自动完成功能的输入元素没有变化 当然 我可以直接选择这个输入并设置值 但是还有其
  • Clojure 传感器是否急切?

    在这篇博客文章中 JavaScript 中的 CSP 和转换器 作者指出 首先 我们必须认识到许多数组 或其他集合 操作 例如map filter and reverse可以定义为reduce So 然后我们看到Clojure 中的许多实现
  • Windows 8 应用程序上的全局应用程序栏

    我正在开发一个 Windows 8 应用程序项目 我使用的是 Visual Studio 2012 它是预定义的模板 GroupedPage SplitPage ItemsPage 这时候我需要添加一个App栏 我选择的方式是创建一个并将其
  • Polyfill 或 ECMAScript5 新功能的解决方法?

    我想用新的来编写我的JS代码ECMAScript5 特性今天和未来都有效 由于并非所有浏览器都支持所有功能 尤其是 IE 例如Object create Array isArray or JSON 我知道一些解决方法 例如使用json2 j
  • 尝试获取 ImageView 中图像的显示尺寸

    我正在尝试获取图像视图中显示的图像的实际大小 实际上我的图像比屏幕大 图像视图正在调整图像大小以显示它 我正在寻找这个新尺寸 我试图在自定义视图中重写 ImageView 的 onDraw 方法 但我没有得到正确的高度和宽度 public
  • 如何在 C# 中解码 HTML 字符?

    我有用 HTML 字符实体编码的电子邮件地址 NET 中有什么可以将它们转换为纯字符串吗 您可以使用HttpUtility HtmlDecode 如果您使用 NET 4 0 您还可以使用WebUtility HtmlDecode它不需要额外
  • Android 中的 OpenCV 模板匹配示例

    我是 OpenCV 的初学者 我正在尝试制作一个示例 Android 应用程序 以使用 OpenCV 模板匹配来匹配给定图像中的模板图像 我在互联网上搜索 找不到合适的 android 或 java 代码来满足我的要求 但我有 C 代码 我
  • SQLite Android 无法打开数据库文件

    编辑 我在手机上尝试过 它可以工作 有人能告诉我为什么它不能在模拟器上工作吗 我正在尝试在 Android 上打开数据库 但它抛出 无法打开数据库文件 异常 在调试器中 似乎错误发生在线路上mDb mDbHelper getWritable
  • Gradle 项目刷新失败:已完成

    背景 此时我已经与 Studio Gradle 斗争了一天左右 最初存在多个 PEBKAC 错误 即权限和资源限制 但后来已得到解决 不幸的是 google fu 因当前错误而使我失败 尝试完成时特别发生错误 gradlew clean没有
  • 如何使用 Xuggler 获取音频进行编码

    我正在编写一个记录屏幕和音频的应用程序 虽然屏幕录制工作完美 但我在使用 JDK 库获取原始音频时遇到困难 这是代码 try Now we re going to loop long startTime System nanoTime Sy
  • NSAttributedString 在 iOS 8 下性能更差

    在 iOS 8 和 8 1 beta 下 创建 NSAttributedString 的性能比 7 差很多 2 3 倍 如果您在同一个视图上使用多个实例 这一点尤其明显 加载 4 个不同的标签将导致用户点击和新视图出现后一秒以 上的延迟 不
  • 带有 Phonegap Build 和 PushPlugin 的 Android 白色通知图标

    我正在使用 Adob e 的 Build 服务摆弄 Phonegap 我想知道是否 如果是 如何 我可以让我的通知显示一个白色图标 如 Google 所描述的 here 我正在使用推送插件但我找不到任何关于此的文档 目前 我的应用程序仅在通
  • Flask Jinja2 - 解析 JSON

    我尝试在 Jinja2 HTML 模板中显示一些 JSON 结果 但它返回一个空页面 或者新行上 JSON 的每个字符 或者每个带有空格的字符 我发送到 Jinja2 模板的对象如下所示 name John lastname Smith a
  • TortoiseSVN 图标在 Windows 7 下不显示

    我似乎无法在 Windows 7 下显示图标 我真的很怀念 Windows XP 中的这一点 如何解决 Windows 只能显示有限数量的覆盖图标 总共 15 个 在 Windows 使用之后有 11 个 类似的程序办公室凹槽 Dropbo
  • 在 PhoneGap 插件中保留回调上下文?

    我需要实现一些在一定时间间隔内触发操作并将结果发送回 JavaScript 的功能 为了简化事情 我将使用 PhoneGap 文档中的 echo 示例 void echo CDVInvokedUrlCommand command self