Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer l'emplacement de téléchargement

    16 février 2019 à 14:36:42

    salut tout le monde je travail sur une application android qui telecharge un fichier pdf d'un serveur le probleme  c'est que le fichier s'enregistre dans

    android/data/com.n_package/file/Download

    voici le code java 


    package com.n_package;
    
    //import android.content.BroadcastReceiver;
    //import android.content.IntentFilter;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    
    import android.app.DownloadManager;
    import android.graphics.Bitmap;
    import android.net.Uri;
    import android.os.Environment;
    //import android.view.View;
    import android.webkit.CookieManager;
    import android.webkit.DownloadListener;
    import android.webkit.URLUtil;
    import android.webkit.WebChromeClient;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Toast;
    
    import java.io.File;
    
    public class MainActivity extends AppCompatActivity {
        WebView wv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            wv = (WebView) findViewById(R.id.web1);
    
            wv.loadUrl("http://cmfpdf.sourcedart.org/pdf.php?name=Mohammed");
            wv.setWebViewClient(new MyClient());
            wv.setWebChromeClient(new GoogleClient());
            WebSettings webSettings = wv.getSettings();
            webSettings.setJavaScriptEnabled(true);
            wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            wv.clearCache(true);
            wv.clearHistory();
            wv.setDownloadListener(new DownloadListener()
            {
    
                @Override
    
    
                public void onDownloadStart(String url, String userAgent,
                                            String contentDisposition, String mimeType,
                                            long contentLength) {
    
                    DownloadManager.Request request = new DownloadManager.Request(
                            Uri.parse(url));
    
    
                    request.setMimeType(mimeType);
    
    
                    String cookies = CookieManager.getInstance().getCookie(url);
    
    
                    request.addRequestHeader("cookie", cookies);
    
    
                    request.addRequestHeader("User-Agent", userAgent);
    
    
                    request.setDescription("Downloading file...");
    
    
                    request.setTitle(URLUtil.guessFileName(url, contentDisposition,
                            mimeType));
    
    
                    request.allowScanningByMediaScanner();
    
    
                    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                    /*request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "doc.pdf");*/
                    request.setDestinationInExternalFilesDir(MainActivity.this,
                            Environment.DIRECTORY_DOWNLOADS,"doc.pdf");
                    DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
                    File file = new File(Environment.DIRECTORY_DOWNLOADS);
                    dm.addCompletedDownload("doc.pdf", "my description", false, mimeType, file.getAbsolutePath(), file.length(), true);
                    dm.enqueue(request);
                    Toast.makeText(getApplicationContext(), "Downloading File",
                            Toast.LENGTH_LONG).show();
                }});
    
    
            /*wv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    wv.loadUrl("http://cmfpdf.sourcedart.org/pdf.php?name=Mohammed");
                }
            });*/
    
    
        }
        /*IntentFilter intentFilter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
        receiverDownloadComplet = new BroadcastReceiver(){
            @Override
            public void onReceive
        }*/
    
        class MyClient extends WebViewClient
        {
    
            @Override
            public void onPageStarted(WebView view,String url,Bitmap favicon){
                super.onPageStarted(view,url,favicon);
    
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view,String Url)
            {
                view.loadUrl(Url);
                return true;
    
            }
            @Override
            public void onPageFinished(WebView view,String url)
            {
                super.onPageFinished(view,url);
    
            }
        }
        class GoogleClient extends WebChromeClient
        {
            @Override
            public void onProgressChanged(WebView view,int newProgress)
            {
                super.onProgressChanged(view,newProgress);
    
            }
        }
        @Override
        public void onBackPressed() {
            if (wv.canGoBack())
                wv.goBack();
            else
                super.onBackPressed();
    
        }
    }



    -
    Edité par MedKabNet 16 février 2019 à 16:01:54

    • Partager sur Facebook
    • Partager sur Twitter

    Changer l'emplacement de téléchargement

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown