2010-07-07 139 views
6

有人可以解释我怎么能够模拟默认浏览器试图从网上下载.apk?如何模仿默认浏览器从webview下载.apk文件?

到目前为止,我有这样的:

WebView webview; 

@Override 
public void onCreate(Bundle icicle) 
     { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 

     webview = (WebView) findViewById(R.id.webview); 
     webview.setWebViewClient(new HelloWebViewClient()); 
     WebSettings webSettings = webview.getSettings(); 
     webSettings.setSavePassword(false); 
     webSettings.setSaveFormData(false); 
     webSettings.setJavaScriptEnabled(true); 
     webSettings.setSupportZoom(false); 

     webview.setDownloadListener(new DownloadListener() { 
      public void onDownloadStart(final String url, String userAgent, 
      String contentDisposition, String mimetype, 
      long contentLength) { 
      Toast.makeText(testapp.this, url, Toast.LENGTH_LONG); 
      } 
      }); 

     webview.loadUrl("http://dacp.jsharkey.org/TunesRemote-r2.apk");  

     } 

我已经加入到使用互联网的权限。是否还有其他需要添加的权限?我是否正确执行DownloadListener?

预先感谢您!

回答

3

使用意向

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("http://dacp.jsharkey.org/TunesRemote-r2.apk")); 
startActivity(intent);  
+0

真棒谢谢!有效!我还发现了使用URLConnection,BufferedInputStream和BufferedOutputStream的另一种方法。你能告诉我使用这种方法,我发现和你建议的区别吗?再次感谢! – Zack 2010-07-09 18:11:08