2017-10-07 23 views
0

XamarinでAndroidとiOSの両方のWebページを開きたいとします。コードは機能しません。誰かが何が間違っているのか理解するのを助けることができるかXamarinでデフォルトのブラウザを開くには?

Androidの場合、ボタンをクリックするとコードが表示されますが、その後は何も起こりません。 iOSの場合、ボタンをクリックするとSafariページが開きますが、ページを開くことはできず、「サーバーが応答しなくなったためSafariがページを開けませんでした」というメッセージが表示されます。

渡されたテストargがある: "http://www.google.com"

感謝。

コード:

async Task ExecuteLaunchBrowserAsync(string arg) 
    { 
     if (IsBusy) 
      return; 

     try 
     { 
      await CrossShare.Current.OpenBrowser(arg, new BrowserOptions 
      { 
       ChromeShowTitle = true, 
       ChromeToolbarColor = new ShareColor 
       { 
        A = 255, 
        R = 100, 
        G = 50, 
        B = 255 
       }, 
       UseSafariReaderMode = true, 
       UseSafariWebViewController = true 
      }); 
     } 
     catch 
     { 
     } 
    } 
+2

でiOSの使用トランスポートセキュリティで動作するように

Device.OpenUri(new Uri("http://example.com")) 

あなたは)(Device.OpenUriを試してみましたか? – Jason

+0

ありがとうございます。私はNuGetプラグインを使用していましたが、それは私に苦労していました。あなたの方法ははるかに優れていました。共有してくれてありがとう。 – MrProgrammer

答えて

1

あなたはちょうどそれがAndroidとiOSの両方のために働くだろう、ブローコードを使用する必要があります。

void Device.OpenUri(Uri uri) 

たとえば、 Info.plistの

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key><true/> 
</dict> 

http://i.imgur.com/qqP7KHp.gif

+0

まさに私が必要としたもの。ありがとうございました。 – MrProgrammer

関連する問題