Android 默认浏览器下载apk,点击无法安装

解决默认浏览器下载APK显示为BIN及安装问题
文章分析了默认浏览器在处理apk下载时显示为bin文件的问题,以及视频下载失败的原因。通过修改MimeTypeMap.java和DownloadHandler.java的源码,可以解决这些问题。此外,针对下载的apk无法安装的情况,修改URLUtil.java的源码可修复MIME类型错误。同时,文章还提到了浏览器导航页面中多个标签页网页无法打开的配置更改。
1.1 默认浏览器下载apk显示成bin文件
  • 源码路径: /vendor/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/util/MimeTypeMap.java
 public static String getFileExtensionFromUrl(String url) {
   
   
 	if (!TextUtils.isEmpty(url)) {
   
   
    	int fragment = url.lastIndexOf('#');
    	if (fragment > 0) {
   
   
    		url = url.substring(0, fragment);
    	}
    	
    	int query = url.lastIndexOf('?');
    	if (query > 0) {
   
   
    		url = url.substring(0, query);
    	}
    	
    	int filenamePos = url.lastIndexOf('/');
    	String filename = 
    		0 <= filenamePos ? url.substring(filenamePos + 1) : url;
    		
    	// if the filename contains special characters, we don't
    	// consider it valid for our matching purposes:
    	if (!filename.isEmpty() &&
  +  		// add start 
  +  		//Pattern.matches("[a-zA-Z_0-9\\.\\-\\(\\)\\%]+", filename)) {
   
   
  +  		Pattern.matches("[\u4e00-\u9fa5_a-zA-Z_0-9\\.\\-\\(\\)\\%]+", filename)) {
   
   
  +  		// add end
    		int dotPos 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值