SWE Browser中有xml/download_settings_preferences.xml, 但在代码中却没有调用,导致“设置”中没有”选择下载路径“功能。

在com.android.browser.preferences.GeneralPreferencesFragment增加”选择下载路径“功能

/*add for download path choose*/
private void onInitdownloadSettingsPreference() {
addPreferencesFromResource(R.xml.download_settings_preferences);
PreferenceScreen downloadPathPreset =
(PreferenceScreen) findPreference(PreferenceKeys.PREF_DOWNLOAD_PATH);
downloadPathPreset.setOnPreferenceClickListener(onClickDownloadPathSettings()); String downloadPath = downloadPathPreset.getSharedPreferences().
getString(PreferenceKeys.PREF_DOWNLOAD_PATH,
BrowserSettings.getInstance().getDownloadPath());
String downloadPathForUser = DownloadHandler.getDownloadPathForUser(this.getActivity(),
downloadPath);
downloadPathPreset.setSummary(downloadPathForUser); } private Preference.OnPreferenceClickListener onClickDownloadPathSettings() {
return new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
try {
Intent i = new Intent("com.android.fileexplorer.action.DIR_SEL");
GeneralPreferencesFragment.this.startActivityForResult(i,
DOWNLOAD_PATH_RESULT_CODE);
} catch (Exception e) {
String err_msg = getResources().getString(R.string.activity_not_found,
"com.android.fileexplorer.action.DIR_SEL");
Toast.makeText(getActivity(), err_msg, Toast.LENGTH_LONG).show();
}
return true;
}
};
}
/*end add */
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mAdvFrag.onActivityResult(requestCode,resultCode, data);
/*add for download path choose*/
if (requestCode == DOWNLOAD_PATH_RESULT_CODE) {
if (resultCode == Activity.RESULT_OK && data != null) {
String downloadPath = data.getStringExtra("result_dir_sel");
if (downloadPath != null) {
PreferenceScreen downloadPathPreset =
(PreferenceScreen) findPreference(PreferenceKeys.PREF_DOWNLOAD_PATH);
Editor editor = downloadPathPreset.getEditor();
editor.putString(PreferenceKeys.PREF_DOWNLOAD_PATH, downloadPath);
editor.apply();
String downloadPathForUser = DownloadHandler.getDownloadPathForUser(
this.getActivity(), downloadPath);
downloadPathPreset.setSummary(downloadPathForUser);
} return;
}
}
/*end add*/
}

onCreate中调用onInitdownloadSettingsPreference(),将download_settings_preferences.xml加到布局中。

public void onCreate(Bundle savedInstanceState) {
...... // Load the XML preferences file
addPreferencesFromResource(R.xml.general_preferences); ...... onInitdownloadSettingsPreference();//add for download path chhoose
}

Browser增加下载路径选择功能的更多相关文章

  1. ArcGIS Server 增加缓存路径

    Server缓存服务,由于缓存文件经常比较大,默认放在C盘下容易导致磁盘空间不够,因此Server提供了增加缓存路径的方法来解决该问题. 增加的路径有两种,一种是Server所在服务器增加一个和原缓存 ...

  2. 解决jsp下载文件,迅雷下载路径不显示文件名称的问题

    如果浏览器安装了迅雷的插件,在jsp页面调用java后台实现文件下载功能时,会自动弹出迅雷下载,迅雷的下载路径会显示.do或者.xhtml之类的,为了解决这个问题,jsp页面修改如下: 写一个< ...

  3. Spring Framework jar官方直接下载路径

    SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...

  4. servlet下载,解决文件名中有中文下载路径出现乱码不能正常下载问题

    方法很多种,我只试用了两种. 主页面JSP中引入下载功能所需的js文件.引入的时候设置编码格式例如 <script type="text/javascript" charse ...

  5. python selenium设置chrome的下载路径

    python可以通过ChromeOptions设置chrome参数,如下载路径等,代码如下(python 3.6.7): #-*-coding=utf-8-*- from selenium impor ...

  6. ubuntu换系统下载路径源

    ubuntn默认下载路径的源是国外的下载很慢换成国内的下载路径会好很多 在ubuntu应用搜索框(左上脚那个)中输入software 1.software&Updates 应用点击softwa ...

  7. chrome crx下载路径

    chrome crx下载后会被删除,可在检查时粘贴出来,下载路径在: %localappdata%\Google\Chrome\User Data\Webstore Downloads 参考:http ...

  8. 设置IE浏览器的默认下载路径

    实现效果: 知识运用: Default Download Directory键 实现代码: private void button2_Click(object sender, EventArgs e) ...

  9. selenium 下载文件设置下载路径

    Chrome 文件下载 Chrome浏览器类似,设置其options: download.default_directory:设置下载路径 profile.default_content_settin ...

随机推荐

  1. Happen-before

    http://blog.csdn.net/ns_code/article/details/17348313

  2. centos 下Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  3. 14.高度最小的BST

    题目描述 对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树. 给定一个有序序列int[] vals,请返回创建的二叉查找树的高度. 返回高度的代码如下: imp ...

  4. 方法的重载(overload)和重写(override)的区别

    方法的重写Overriding和重载Overloading是Java多态性的不同表现.重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现.如 ...

  5. WWDC2014之iOS使用动态库 framework【转】

    from:http://www.cocoachina.com/industry/20140613/8810.html JUN 12TH, 2014 苹果的开放态度 WWDC2014上发布的Xcode6 ...

  6. java获取服务器所有信息

    package com.sinosoft.outher.listener; import java.net.InetAddress;import java.net.UnknownHostExcepti ...

  7. Mysql数据库的使用经验总结

    1. 对mysql插入中文的时候显示乱码,搞了很多天,把服务端.客户端和数据库的编码全改为u8了又重新创建数据库和表还是不行,到最后却发现没有乱码!原来只是windows的cmd没有支持u8,换个客户 ...

  8. Support Vector Machine (1) : 简单SVM原理

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  9. delphi 10 seattle 安卓服务开发(二)

    关于delphi 10 移动服务开发的几张图

  10. JavaScript:JSON

      JSON是一种数据格式,它并不从属于JavaScript,很多语言都有JSON的解析器和序列化器. 语法 JSON可以表示三种类型: 简单值:使用与JavaScript相同的语法,可以在JSON中 ...