presentOpenInMenuFromRect是否关闭调用程序?

时间:2013-07-26 18:46:06

标签: ios cordova phonegap-plugins open-with

我正在开发一个PhoneGap Build应用程序,但需要一种方法来提示我的用户在Adobe Reader中打开本地文件(inAppBrowser对我的情况不起作用)。我找到了PhoneGap的第三方插件,可以满足我的需求。但是它只能用于远程.pdf文件。我已经想出如何更改插件代码以使用iPad / iPhone上的本地文件,但是当用户在Adobe Reader中打开pdf时,它似乎关闭了我的应用程序。

我对目标C,Xcode等几乎一无所知。

所需的功能是:

  1. 用户导航我的应用搜索或浏览文件
  2. 查找所需文件
  3. 选择文件
  4. 向用户显示“打开方式”选项,其中一个是Adobe读者
  5. 用户选择Adobe,PDF打开
  6. 用户返回我的应用程序,他们离开了它
  7. 除非我的应用程序上面的步骤#6似乎已关闭,否则我已全部工作了。如果我按下主页按钮两次应用程序显示在iPad的底部但是当选定的应用程序从关闭状态启动时显示启动画面。我希望它是用户离开的地方。

    我相信相关的代码是

    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/

0 个答案:

没有答案