美文网首页
Android常用高效API

Android常用高效API

作者: Cloverss | 来源:发表于2017-07-10 12:39 被阅读33次
    • 格式化文件大小,将字节数据格式化为 B、KB、M 等单位的相应数据。context 参数用于判断返回结果的字符串顺序,right-to-left 还是 left-to-right 形式的。这个工具类免去我们自己转化计算的过程,非常方便,特别适用于应用内文件下载的类似场景。
    Formatter.formatFileSize(Context context, long sizeBytes)
    
    • 将指定单位的尺寸数据按照当前设备屏幕信息转化为相应的像素值。其中,TypedValue 为第一个参数提供了常用的单位值,比如:
      COMPLEX_UNIT_PX
      COMPLEX_UNIT_DIP
      COMPLEX_UNIT_PT
      COMPLEX_UNIT_SP
    TypedValue.applyDimension(int unit, float value, DisplayMetrics metrics)
    
    • 自动调用 View 点击事件。通常按钮等控件只有在用户点击时才能触发其点击事件,该方法可以由某些特殊条件触发模拟用户点击行为。类似的还有 performLongClick() 方法。
    view.performClick()
    
    • 设置安全窗口,禁用系统截屏。防止 App 中的一些界面被截屏,并显示在其他设备中造成信息泄漏。(常见手机设备系统截屏操作方式为:同时按下电源键和音量键。)
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE)
    
    • 拦截 Back 键,使 App 进入后台而不是关闭,这个技巧厉害了。通常为了防止出现用户误按 Back 键退出 App 的情况,我们会在应用首页的 Activity 中监听返回键操作,使用 Toast 弱提示甚至 Dialog 强提示的方式给到用户一个再次确认的操作,但无法阻止用户通过返回键逐步关闭应用.然而,如果用这个方法拦截 App 最后一个 Activity(常见为首页界面),既没有阻碍用户操作(回到桌面),又没有关闭掉我们的应用(后台运行中),间接提高 App 的存活时间,真乃暗度陈仓。并且据我实验,微信、支付宝、微博等 App 都是这么做的.
      @Override
      public void onBackPressed() {
        Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
        launcherIntent.addCategory(Intent.CATEGORY_HOME);
        startActivity(launcherIntent);
      }
    

    相关文章

      网友评论

          本文标题:Android常用高效API

          本文链接:https://www.haomeiwen.com/subject/ypyyhxtx.html