Phonegap 插件延迟初始化

Posted

技术标签:

【中文标题】Phonegap 插件延迟初始化【英文标题】:Phonegap plugins delayed initialization 【发布时间】:2014-04-13 12:35:50 【问题描述】:

我正在为 iPhone/iPad 应用程序使用 Phonegap/Cordova 3.4.0。我使用媒体和对话框插件。它们在 iPad 上工作得很好,但在 iPhone 上,当我按下相应的按钮时,声音不会播放,通知也不会出现。但是,如果我双击主页按钮(或者如果我最小化应用程序并再次最大化它),所有声音都会同时开始播放,并且我试图触发的通知也会显示出来。

这是一个非常奇怪的延迟响应,我没有发现有关此问题的任何信息。有人可以帮忙吗?

最好的问候

【问题讨论】:

哦,它也在 iPad 上。这一定是我当时改变的东西。 【参考方案1】:

我找到了罪魁祸首。我添加了一些代码,以便可以在 Safari 中打开外部链接。所以就是 MainViewController.m 中的这段代码:

// BEGIN - Custom code
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

    NSURL *requestURL =[ request URL ];
    if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ]) )
    
        [[UIApplication sharedApplication] openURL: requestURL];
        return NO;
    

    return YES;


// END - Custom code

我不得不将其替换为:而不是最后的 return YES;

return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];

一切正常!

【讨论】:

以上是关于Phonegap 插件延迟初始化的主要内容,如果未能解决你的问题,请参考以下文章

使用 PhoneGap 3.2 在 iOS 7 上延迟后淡出闪屏

延迟到 jQuery 动画完成

延迟初始化:未能延迟初始化集合

延迟初始化中的 双重检查模式 和 延迟占位类模式 你都用对了吗?

延迟初始化

休眠延迟加载不适用于 Spring Boot => 无法延迟初始化角色集合无法初始化代理 - 无会话