안드로이드

[안드로이드] Android Webview 상에서 파일다운로드 기능 구현

http://portfolio.wonpaper.net 2021. 7. 13. 07:44

Webview 상에서 파일다운로드 기능을 할때 당연히 따로 별도의 프로그램을 만들어 주어야 하는데,

실제로 그해당 파일의 Mime타입 형식에 따라 일일이 만들어주어야 한다면 상당히 머리아픈 작업이 아닐수 없다.

 

아래와 같이 간단히 인텐트 형태로 넘겨준다면 그 확장자에 맞는 적절한 형태로 자동 연결해 줄 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class MainActivity extends AppCompatActivity {
 
    private static final String TAG = "MainActivity";
    private WebView webView1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        webView1 = (WebView) findViewById(R.id.webView1);
 
        // 다운로드 처리
        webView1.setDownloadListener(new DownloadListener() {
            public void onDownloadStart(String url, String userAgent,
                                        String contentDisposition, String mimetype,
                                        long contentLength) {
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
                startActivity(i);
            }});
    }
 
}
cs