通过忽略深层链接

时间:2018-05-14 15:54:55

标签: c# android xamarin.android deep-linking intentfilter

我正在开发一个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?或其他解决方案?有什么建议?

0 个答案:

没有答案