1

我正在开发一个 PhoneGap Build 应用程序,但需要一种方法来提示我的用户在 Adob​​e Reader 中打开本地文件(inAppBrowser 不适用于我的情况)。我找到了满足我需要的 PhoneGap 的 3rd 方插件。但是,它仅适用于远程 .pdf 文件。我已经想出了如何更改插件代码以处理 iPad/iPhone 上的本地文件,但是当用户在 Adob​​e Reader 中打开 pdf 时,它似乎关闭了我的应用程序。

我对 Objective C、Xcode 等几乎一无所知。

所需的功能是:

  1. 用户导航我的应用程序搜索或浏览文件
  2. 找到想要的文件
  3. 选择文件
  4. 向用户显示“打开方式”选项,其中一个是 Adob​​e 阅读器
  5. 用户选择 Adob​​e,PDF 打开
  6. 用户在他们离开的位置返回到我的应用程序

除了上面的第 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];

提示用户选择 Adob​​e。一旦用户选择在 Adob​​e 中打开 pdf,我是否可以在此处传递一个参数以不让我的应用程序关闭?

谢谢!

我在其原始状态下更改的插件可以在这里找到和讨论: http ://www.tricedesigns.com/2012/08/15/open-with-in-ios-phonegap-apps/

4

0 回答 0