我正在开发一个Xamarin.Android应用程序。
我已经定义了一个"深度链接",如:" .example.com"。一切正常,但我需要在特定文件夹上blacklist,例如" .example.com / media / *" (因为在这个文件夹中我只有文件/附件)。
<!-- Activities -->
<activity android:name="ApplicationLaunchActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="*.example.com" />
</intent-filter>
</activity>
在LaunchActivity中我有
[IntentFilter(new[] { Android.Content.Intent.ActionView },
AutoVerify = true,
Categories = new[]
{
Android.Content.Intent.CategoryDefault,
Android.Content.Intent.CategoryBrowsable
},
DataScheme = "https",
DataPathPrefix = "",
DataHost = "*.example.com"
)]
因此,正如我在this post中所读到的那样,IntentFilter中的深层链接没有列入黑名单。 所以我能做的就是在WebView中加载文件。对于图像文件,我没有问题,但对于具有pptx或pdf的文件,WebView中没有显示任何内容。
WebView postAttachmentsWebView = FindViewById<WebView>(Resource.Id.PostAttachmentsWebView);
postAttachmentsWebView.LoadUrl(url);
你对我有什么想法吗?是否有任何解决方案强制Android在不使用DeepLinking的情况下使用WebBrowser打开此特定URL?或其他解决方案?有什么建议?