Cordova inappbrowser не воспроизводит мультимедиа и не загружает файл календаря .ics - PullRequest
0 голосов
/ 10 сентября 2018

Я загружаю внешнюю website, которую я не могу контролировать, загружаем buttons или ссылки, которые должны открываться где-то еще, например, файлы .ics или .pdf не имеют никакого эффекта или действия, например открыв его на самом app по умолчанию application. это код

onDeviceReady: function() {

    var openWindow = function() {
         var ref = cordova.InAppBrowser.open('https://www.example.com', '_blank', 'location=yes,zoom=no,toolbar=no,enableViewportScale=yes');
         ref.addEventListener('exit', function(event) { navigator.app.exitApp()
         navigator.notification.activityStart("", "loading");
    });

    var loadStop = function(event) {
        navigator.notification.activityStop();
        ref.removeEventListener('loadstop', loadStop);      
    };

    ref.addEventListener('loadstop', loadStop);         
};

1 Ответ

0 голосов
/ 11 сентября 2018

Я как-то нашел способ отработать его на Android в плагине inappbrowser.java по этому пути: \ платформы \ android \ app \ src \ main \ java \ org \ apache \ cordova \ inappbrowser

в этом методе я добавил дополнительные аргументы для получения файлов .pdf и .ics

public boolean shouldOverrideUrlLoading(WebView webView, String url) {
    if (url.endsWith(".pdf")){
        try{
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(url));
            intent.setPackage("com.android.chrome");                    
            cordova.getActivity().startActivity(intent);
            return true;
        }catch(android.content.ActivityNotFoundException e){
            LOG.e(LOG_TAG, "Error with " + url + ": " + e.toString());
        }
    } else if (url.contains("/icsdownload/")){
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        cordova.getActivity().startActivity(intent);
    }
}

Я также указал, какой именно пакет открыть. я мог бы пригласить на помощь часть IOS

...