[sdcard-application]当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出

原创 2016年06月01日 17:02:21

[sdcard-application]当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出

[DESCRIPTION]

当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出,比如在63层按back 键退回到44层的时候,file manager自动退出。

[SOLUTION]

1.FileManager默认设计, FileManager种只记录最多20条操作路径的记录, 如果超出就会把最早加入的记录删除. 贵司
可以参考alps/mediatek/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoManager.JAVA中这部
分的代码.
/** Max history size */
private static final int MAX_LIST_SIZE = 20;
private final List<NavigationRecord> mNavigationList = new LinkedList<NavigationRecord>();
/**
* This method gets the previous navigation directory path
*
* @return the previous navigation path
*/
protected NavigationRecord getPrevNavigation() {
while (!mNavigationList.isEmpty()) {
NavigationRecord navRecord = mNavigationList.get(mNavigationList.size() - 1);
removeFromNavigationList();
String path = navRecord.getRecordPath();
if (!TextUtils.isEmpty(path)) {
if (new File(path).exists() || MountPointManager.getInstance().isRootPath(path)) {
return navRecord;
}
}
}
return null;
}
/**
* This method adds a navigationRecord to the navigation history
*
* @param navigationRecord the Record
*/
protected void addToNavigationList(NavigationRecord navigationRecord) {
if (mNavigationList.size() <= MAX_LIST_SIZE) {
mNavigationList.add(navigationRecord);
} else {
mNavigationList.remove(0);
mNavigationList.add(navigationRecord);
}
}
/**
* This method removes a directory path from the navigation history
*/
protected void removeFromNavigationList() {
if (!mNavigationList.isEmpty()) {
mNavigationList.remove(mNavigationList.size() - 1);
}
}
2.对于20条操作路径的history record, 贵司可以修改,只需要把FileInfo.Manager.java中的MAX_LIST_SIZE设为需要
的最大路径记录数。这样修改带来的影响是,file manager APK可能会用到更多的内存,因为List<NavigationRecord>
mNavigationList需要记录更多的路径数。
alps/mediatek/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoManager.java中这部分的代码

/** Max history size */
private static final int MAX_LIST_SIZE = xxx;


android 中back两种退出app的方法

连续点击退出app 思路:双击时间差小于某个定值触发事件 代码: public class MainActivity extends AppCompatActivity { private lo...
  • u013040819
  • u013040819
  • 2017年06月03日 09:46
  • 620

在训练CNN的时候,各层back propagation的递推公式

由于下学期毕设要做CNN的东西,最近开始接触CNN。看了一些资料,发现这些资料里面讲的BP+SGD的训练策略都是针对conv layer 的,而像caffe这种ConvNet库,里面包含了很多非卷积层...
  • u012702874
  • u012702874
  • 2015年01月28日 23:54
  • 3887

安卓实现按返回键回到桌面以及再一次按返回键退出应用

再做一个即时通信的应用的时候,由于每次都要登录,并且要一直保持通信,如果按返回键后会退出应用,这样对用户的体验不是很好,所以想到了微信和QQ的返回键回到桌面的效果,于是进行了重写onkeyDown()...
  • zheweixingzhang
  • zheweixingzhang
  • 2016年06月07日 22:48
  • 4521

Android 双击back键退出应用的两种方式

项目要做这个功能,于是在度娘上摘代码.基本上实现方式很多,现在我把我这种实现贴出来哈,参考一下 1.重写onKeyDown方法 private boolean isExit = false;//...
  • geekqian
  • geekqian
  • 2016年04月04日 17:08
  • 1291

Android Activity切换动画(解决back键后退失效问题)

转自:http://blog.csdn.net/top_code/article/details/9080913 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,...
  • gf771115
  • gf771115
  • 2015年10月26日 15:43
  • 4555

按Home按键退出应用后重新启动该应用无法返回到最后打开页面的解决方案

按Home按键退出应用后重新启动该应用无法返回到最后打开页面的解决方案 2014年12月20日 [目录]   比如我打开应用到MatchActivity,正常的启动流程是...
  • goodmentc
  • goodmentc
  • 2015年08月11日 17:05
  • 1039

cordova返回键退出程序

cordova源码中返回键已经被WebView处理掉了,所以只能在js中处理返回键! 注册事件监听,代表性的调用document.addEventListener,一旦你注册了 deviceread...
  • chengshiruxia
  • chengshiruxia
  • 2015年12月05日 17:29
  • 4441

Cocos2d-x学习之---Andorid关于返回键退出的一些小总结

好久都没写博客了,今天是2014年的第一天,开个好头吧~~~祝自己和各位辛勤工作的码农们元旦快乐~! 用Cocos2dx引擎开发游戏的时候,看见同事用过直接调用安卓自带的功能实现返回键退出,这样就非...
  • u011894560
  • u011894560
  • 2014年01月01日 10:41
  • 4539

MFC设备描述表中路径层原理

1、路径层的创建是通过启用CDC类提供的BeginPath和EndPath这两个函数实现的。 2、路径层一般都是配合裁剪区域一起使用的,针对当前裁剪区域就行某种形式的保护。 void CMapBi...
  • chuan442616909
  • chuan442616909
  • 2013年08月08日 09:14
  • 684

webapp 双击安卓原生回退按钮实现退出应用程序小实例

js如果要监听安卓手机原生回退按钮,只能通过cordova的backbutton事件来实现,具体实现方法如下: html代码: 回退按钮小实例 ...
  • McDullBro
  • McDullBro
  • 2016年10月27日 10:51
  • 4320
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[sdcard-application]当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出
举报原因:
原因补充:

(最多只允许输入30个字)