-4

我有一个应用程序,我想在不打开 UI Activityviewcontroller 的情况下打开本机应用程序。

单击按钮时,我想打开本机应用程序。

我已经在单击按钮时设置了应用程序的 URL,但它仍然显示一个活动视图控制器。

如何避免 UIActivityViewController?

提前致谢。

已编辑

单击按钮,我将在 Instagram 上共享图像。

这是我的代码。

NSURL *instagramURL = [NSURL URLWithString:@"instagram://"];

                if ([[UIApplication sharedApplication] canOpenURL:instagramURL])
                {

                    CGRect rect = CGRectMake(0 ,0 , 0, 0);
                    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
                    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

                    UIGraphicsEndImageContext();
                    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                    NSString* documentsDirectory = [paths objectAtIndex:0];

                    imagename=[NSString stringWithFormat:@"FameFace.ig"];
                    NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:imagename];
                    ////NSLog(@"%@",fullPathToFile);

                    igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", fullPathToFile]];

                    self.dic.UTI = @"com.instagram.photo";
                    self.dic = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
                    self.dic=[UIDocumentInteractionController interactionControllerWithURL:igImageHookFile];
     self.dic.annotation = [NSDictionary dictionaryWithObject:@"Image" forKey:@"InstagramCaption"];
   [self.dic presentOpenInMenuFromRect: rect    inView: self.view animated: YES ];

在此处输入图像描述

如屏幕截图所示,它在 UIActivityView 中打开。

是否有可能如果我单击一个按钮,它会立即将我导航到本机应用程序而不显示该 ActivityViewController?

4

1 回答 1

4

您可以使用打开应用程序[[UIApplication sharedApplication] openURL:appURL]

在您的情况下,它看起来像这样:

NSURL *instagramURL = [NSURL URLWithString:@"instagram://"];

if ([[UIApplication sharedApplication] canOpenURL:instagramURL])
{
    NSURL * openInstagramURL = nil;
    //TODO: construct your proper instagram URL here. 
    [[UIApplication sharedApplication] openURL:openInstagramURL];
}

关键是您必须正确构建您的 URL,以便接收应用程序(在这种情况下为 Instagram)执行正确的操作。

于 2013-06-06T13:08:38.187 回答