Как загрузить SVF в программу просмотра Autodeks Forge Offline на Android?

Я пытаюсь загрузить SVF-файл в Autodesk Forge Viewer локально в Xamarin.Android. Я скопировал содержимое в папку Assets/html моего проекта. Мой код для загрузки контента выглядит так.

В MyWebViewClient.cs

 public WebResourceResponse ShouldInterceptRequest(WebView webView, IWebResourceRequest request)
    {
        try
        {
            Android.Net.Uri url = request.Url;
            //Uri uri = url;
            String path = url.Path;
            if (path.StartsWith("/android_asset/"))
            {
                try
                {
                    AssetManager assetManager = this.context.Assets;
                    String relPath = path.Replace("/android_asset/", "").Replace("gz", "gz.mp3");
                    //InputStream stream = assetManager.Open(relPath);
                    return new WebResourceResponse(null, null, assetManager.Open(relPath));
                }
                catch (IOException ex)
                {
                    String str = ex.Message;
                }
            }
        }
        catch (Exception ex) { }

        return null;
    }

Затем в моем Activity.cs

 SetContentView(Resource.Layout.webview);
 var wbMain = FindViewById<WebView>(Resource.Id.webView1);
 wbMain.Settings.DomStorageEnabled = true;
 wbMain.Settings.JavaScriptEnabled = true;
 wbMain.Settings.AllowFileAccessFromFileURLs = true;
 wbMain.Settings.AllowUniversalAccessFromFileURLs = true;
 var customWebViewClient = new MyWebViewClient(BaseContext);
 customWebViewClient.OnPageLoaded += MyWebViewClient_OnPageLoaded;

 wbMain.SetWebViewClient(customWebViewClient);
 wbMain.LoadUrl("file:///android_asset/html/index.html");

Это загружает только боковые виды, а не основное средство просмотра.

В чем причина этого и как я могу это решить?

В прошлый раз, когда я пытался это сделать, это не сработало... Поэтому, когда вы найдете решение, пожалуйста, поделитесь им и здесь.

FreakyAli 05.12.2022 12:23
0
1
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обратите внимание, что образец немного устарел, и с тех пор в наши юридические условия внесены некоторые изменения. В настоящее время юридические положения и условия гласят, что все активы средства просмотра (JS, CSS, значки, изображения и т. д.) должны поступать из домена Autodesk.

Если вам нужно иметь возможность запускать приложение на основе средства просмотра в сценариях «временно в автономном режиме» (например, на строительной площадке), я бы посоветовал вам просмотреть следующую запись в блоге: https://forge. autodesk.com/blog/disconnected-workflows. Этот подход (с использованием Service Workers и Cache API) соответствует требованиям законодательства.

Спасибо за ответ. Мне удалось успешно запустить github.com/petrbroz/forge-disconnected на моем ноутбуке, и теперь мне нужно преобразовать его в Xamarin.android. Можно ли добавить содержимое этого проекта в папку Assets/html в моем проекте Xamarin.Android? Как мы можем сделать это на Android или iOS? не могли бы вы дать некоторые рекомендации?

Randi 08.12.2022 13:16

Вы не должны хранить какие-либо активы средства просмотра в папке вашего проекта. Идея «временно отключенного» подхода заключается в том, что активы зрителя кэшируются браузером, но по-прежнему связаны с их исходным доменом.

Petr Broz 09.12.2022 09:32

Другими словами, вы можете запустить свое приложение для просмотра в режиме «временно в автономном режиме» в браузере, но не в пользовательском приложении, которое потребует загрузки каких-либо ресурсов для просмотра.

Petr Broz 09.12.2022 09:33

Другие вопросы по теме