我正在开发一个 PhoneGap Build 应用程序,但需要一种方法来提示我的用户在 Adobe Reader 中打开本地文件(inAppBrowser 不适用于我的情况)。我找到了满足我需要的 PhoneGap 的 3rd 方插件。但是,它仅适用于远程 .pdf 文件。我已经想出了如何更改插件代码以处理 iPad/iPhone 上的本地文件,但是当用户在 Adobe Reader 中打开 pdf 时,它似乎关闭了我的应用程序。
我对 Objective C、Xcode 等几乎一无所知。
所需的功能是:
- 用户导航我的应用程序搜索或浏览文件
- 找到想要的文件
- 选择文件
- 向用户显示“打开方式”选项,其中一个是 Adobe 阅读器
- 用户选择 Adobe,PDF 打开
- 用户在他们离开的位置返回到我的应用程序
除了上面的第 6 步我的应用程序似乎已关闭之外,我已经完成了所有工作。If I press the home button twice app show up at the bottom of iPad but when selected app starts from closed state showing splash screen. 我希望它是用户离开它的地方。
我相信相关的代码是
NSURL *fileURL = [NSURL fileURLWithPath:localFile];
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
[controller retain];
controller.delegate = self;
controller.UTI = uti;
CDVViewController* cont = (CDVViewController*)[ super viewController ];
//CGRect rect = CGRectMake(0, 0, cont.view.bounds.size.width, cont.view.bounds.size.height);
CGRect rect = CGRectMake(0, 0, 1024, 768);
[controller presentOpenInMenuFromRect:rect inView:cont.view animated:YES];
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @""];
[self writeJavascript: [pluginResult toSuccessCallbackString:callbackID]];
[callbackID release];
[path release];
[uti release];
这条线在哪里
[controller presentOpenInMenuFromRect:rect inView:cont.view animated:YES];
提示用户选择 Adobe。一旦用户选择在 Adobe 中打开 pdf,我是否可以在此处传递一个参数以不让我的应用程序关闭?
谢谢!
我在其原始状态下更改的插件可以在这里找到和讨论: http ://www.tricedesigns.com/2012/08/15/open-with-in-ios-phonegap-apps/