我试图打开例如来自我自己的React-Native App的What's App。我已经在Android中使用react-native-send-intent(SendIntentAndroid)来做到这一点,但它只适用于Android。我想在IOS中做同样的事情。链接对我不起作用,我不知道为什么。
答案 0 :(得分:1)
最后,在IOS中是Linking.openUR(“whatsapp:// app”)APP这个词就是我想要的。
答案 1 :(得分:0)
如果您想要将应用中的某些内容与其他应用分享,那么您可以通过 Share
本地模块进行分享。
该模块的文档可用here。
你是否想打开其他应用程序,如whatsapp,gmail或邮件应用程序等,然后你可以通过在IOS中实现 native-module 来实现这一目标。
#import "RCTBridgeModule.h"
#ifndef SampleNativeModule_h
#define SampleNativeModule_h
#endif /* SampleNativeModule_h */
@interface SampleNativeModule_h : NSObject <RCTBridgeModule>
@end
上述文件为 SampleNativeModule.h
#import "SampleNativeModule.h"
#import "RCTLog.h"
@import UIKit;
@implementation SampleNativeModule
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(openGmail)
{
NSURL* mailURL = [NSURL URLWithString:@"message://"];
NSURL* gmailURL = [NSURL URLWithString:@"googlegmail://"];
NSURL* appStoreURL = [NSURL URLWithString:@"itms://itunes.apple.com/us/app/googlegmail"];
if([[UIApplication sharedApplication] canOpenURL:gmailURL]){
[[UIApplication sharedApplication] openURL:gmailURL];
}else if ([[UIApplication sharedApplication] canOpenURL:mailURL]) {
[[UIApplication sharedApplication] openURL:mailURL];
}else{
[[UIApplication sharedApplication] openURL:appStoreURL];
}
}
@end
以上文件是SampleNativeModule.m
是本机模块文件,您可以将其作为
import {NativeModules} from 'react-native'
const SampleNativeModule = NativeModules.SampleNativeModule;
// ........
SampleNativeModule.openGmail();
上面我实现了在IOS中打开gmail应用程序的方法,但你可以通过将URL传递给你的本机模块并打开相应的应用程序来为whatsapp和其他应用程序做。