如何直接打开应用程序而不在ios中显示UIActivityViewController?

时间:2013-06-06 12:53:43

标签: ios objective-c uiactivityviewcontroller

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

点击按钮,我想打开原生应用。

我已经点击按钮设置了应用的网址,但它仍然显示了一个activityviewcontroller。

如何避免使用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 ];

enter image description here

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用[[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将执行正确的操作。