2017-07-19 4 views
0

whatsappで自分のアプリを共有するコードを作成しました。問題は、共有リンクがiosからAndroidの携帯電話に送信され、URLリンクとテキストがすべてAndroidの電話のwhatsappチャットボックスにプレーンテキスト形式で強調表示されたリンクとURLなしで表示される場合です。 これを修正できますか?どうやって?iOS:目的のC言語を使用したアプリの共有URL

NSString *urlString = [NSString stringWithFormat:@"%@", APP_SHARE_URL]; 
     NSString *initialText1 = [NSString stringWithFormat:@"Hey I am using App: %@\n%@",urlString, profileModel.name]; 
     NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet]; 
     NSString *whatsappString = [NSString stringWithFormat:@"%@", [[NSString stringWithFormat:@"%@", initialText1] stringByAddingPercentEncodingWithAllowedCharacters:set]]; 
     NSURL *whatsappURL = [NSURL URLWithString:[NSString stringWithFormat:@"whatsapp://send?text=%@", whatsappString]]; 

     if ([[UIApplication sharedApplication] canOpenURL:whatsappURL]) { 
      [[UIApplication sharedApplication] openURL:whatsappURL]; 
     } 
     else { 
      [self showMessage:@"Unable to open WhatsApp"]; 
     } 

答えて

0

私はこのコードをwhatsapp上で共有するために使用しており、それは絶対にうまく動作します。プレーンテキストの問題は、Android OS 5.0以前で発生します。

NSString *textToShare = [self getEncodedString:text]; 
NSString *urlStr = @"whatsapp://send?text=";  
urlStr = [NSString stringWithFormat:@"%@%@",urlStr,textToShare]; 
NSURL *url = [NSURL URLWithString:urlStr]; 
[[UIApplication sharedApplication] openURL:url] 

- (NSString*)getEncodedString:(NSString*)string { 
     NSString * encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                             NULL, 
                             (CFStringRef)string, 
                             NULL, 
                             (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", 
                             kCFStringEncodingUTF8)); 
     return encodedString; 
    } 
関連する問題