Autore Topic: DownloadManager: impossibile aprire il file  (Letto 612 volte)

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
DownloadManager: impossibile aprire il file
« il: 08 Dicembre 2014, 12:10:58 CET »
0
Ciao a tutti!
ho un problema nella mia webview con il DownloadManager. Praticamente funziona tutto alla perfezione, tranne il fatto che al termine del download se clicco sulla notifica mi esce il messaggio IMPOSSIBILE APRIRE IL FILE mentre se lo apro dalla directory il tutto funziona perfettamente. Questo lo fa con qualsiasi tipo di file (mp3, apk, pdf, etc). Qualcuno potrebbe dirmi dove sta il problema?

Vi posto il codice qui sotto:

WEBVIEW:
------------
Codice (Java): [Seleziona]
webView.setDownloadListener(new DownloadListener() {
                        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
                                Request request = new Request(Uri.parse(url));
                                request.allowScanningByMediaScanner();
                                request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
                                request.setAllowedOverRoaming(true);
                                request.setTitle(getFileName(url, contentDisposition, mimetype));
                                request.setDescription("Download in corso...");
                                request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                                request.setDestinationInExternalPublicDir("/MyWebBrowser/Download/", getFileName(url, contentDisposition, mimetype));
                                request.setVisibleInDownloadsUi(true);
                                request.setMimeType("application/file/pdf");
                                DownloadManager dm = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
                                dm.enqueue(request);

                        }
                       
                        private String getFileName(String url, String contentDisposition, String mimetype) {
                                fileName = URLUtil.guessFileName(url, contentDisposition, mimetype);
                        int extensionIndex = fileName.lastIndexOf(".");
                        String extension = null;
                       
                        if ((extensionIndex > 0)) {
                                extension = fileName;
                           
                        }
                                return extension;
                        }

                });

e qui il manifest:
-----------------
Codice (XML): [Seleziona]
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.giancarlo.mywebbrowser"
   android:versionCode="20141206"
   android:versionName="1.3.3"
   android:installLocation="auto">

    <uses-sdk
       android:minSdkVersion="14"
       android:targetSdkVersion="21" />
   
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
   
       

    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme">
        <activity
           android:name="com.giancarlo.mywebbrowser.MyWebBrowser"
           android:label="@string/app_name"
           android:configChanges="orientation|screenSize"
           android:launchMode="singleTop"
           android:exported="true">
           
            <meta-data android:name="android.app.searchable"
               android:resource="@xml/searchable"/>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.APP_BROWSER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:mimeType="*/*"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH"/>
            </intent-filter>

        </activity>
       
        <activity android:name="SettingsActivity"/>
        <activity android:name="InfoActivity"/>
        <activity android:name="BackupRestoreActivity"/>
        <activity android:name="DisplayPreferitiActivity" android:exported="true"/>
        <activity android:name="DisplayHistoryActivity"/>
    </application>

</manifest>

Grazie.