我有一个应用程序,我想在不打开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 ];
如截图所示,它在UIActivityView中打开。
如果我单击一个按钮,它是否有可能立即导航到本机应用程序而不显示ActivityViewController?
答案 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将执行正确的操作。