大佬教程收集整理的这篇文章主要介绍了cordova – 如何在PhoneGap中处理自定义URL方案以进行冷启动?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是当我的应用程序冷启动(不在后台运行)时,handLeopenURL()似乎没有调用.是否有另一个处理程序可用于冷启动与已运行的实例?
要么
是否有一个我可以阅读的全局变量,它会告诉我调用URL是什么?我读了一下invokeString,但似乎从来没有设置过?
我正在使用PhoneGap 2.0
// this happens while we are running ( in the BACkground,or from within our own app ) // only valid if Calinda-Info.plist specifies a protocol to handle - (BOOL) application:(UIApplication*)application handLeopenURL:(NSURL*)url
如果应用程序未运行,则不会调用此方法.我的解决方案是通过以下更改来调整项目:
@H_470_19@mainViewController.h
@interface MainViewController : CDVViewController @property (nonatomic,retain) NSString *URLToHandle; @end@H_470_19@mainViewController.m
- (void) webViewDidFinishLoad:(UIWebView*) theWebView { if (self.URLToHandlE) { NSString* jsString = [NSString StringWithFormat:@"window.setTimeout(function() {handLeopenURL(\"%@\"); },1);",self.URLToHandle]; [theWebView StringByEvaluaTingJavaScriptFromString:jsString]; } [...] } - (void)dealloc { self.URLToHandle = nil; [super dealloc]; } @synthesize URLToHandle;
AppDelegate.m
- (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { [...] self.viewController = [[[MainViewController alloc] init] autorelease]; self.viewController.useSplashScreen = YES; self.viewController.wwwFolderName = @"www"; self.viewController.startPage = @"index.html"; self.viewController.view.frame = viewBounds; // Patch for handLeopenURL ((MainViewController *)self.viewController).URLToHandle = URLToHandle; [...] }
希望有所帮助.
西里尔
附加说明:测试时确保停止xcode.当xcode运行时,应用程序会抛出异常.如果我停止xcode这个解决方案工作正常.
以上是大佬教程为你收集整理的cordova – 如何在PhoneGap中处理自定义URL方案以进行冷启动?全部内容,希望文章能够帮你解决cordova – 如何在PhoneGap中处理自定义URL方案以进行冷启动?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。