最近项目中,坑爹的问题(7.0手机)

来源:互联网 发布:飞升坐骑升阶数据 编辑:程序博客网 时间:2024/05/16 08:41

小米(6.0以上)

  • 定位权限
    用户虽然拒绝了权限,但是代码回调中返回的却是同意。
    解决方法:在权限回调中,运用系统层,判断是否真的获取权限

       /**    * 系统层的权限判断    * @param context     上下文    * @param permissions 申请的权限 Manifest.permission.READ_CONTACTS    * @return 是否有权限 :其中有一个获取不了就是失败了  */public static boolean hasPermission(Context conte,String[] permissions) {           for (String permission : permissions) {           String op = AppOpsManagerCompat.permissionToOp(permission);           if (TextUtils.isEmpty(op)) continue;             int result = AppOpsManagerCompat.noteProxyOp(context, op,                                     context.getPackageName());        if (result == AppOpsManagerCompat.MODE_IGNORED) return false;        result = ContextCompat.checkSelfPermission(context, permission);         if (result != PackageManager.PERMISSION_GRANTED) return false;    }     return true;}

    7.0

  • 屏幕点击无响应
    原因:由于同一Activity多次使用自定义dialog,当初想着使用dilaog.hide(),会性能好一些,结果出现了问题。至于dismiss,cancle,hide 的区别,可以自行学习,不在累赘。

  • popwindow.showAsDropDown(View view)失效
    解决方法:

    public class MyPopupWindow extends PopWindow{  @Override  public void showAsDropDown(View anchor){     if(Build.VERSION.SDK_INT>24){       Rect rect=new Rect();       anchor.getGlobalVisibleRect();       int h=anchor.getResources().getDisplayMetrics().heghtPixels-       rect.bottom;       setHeight(h);   }   super.showAsDropDown(anchor);}  }

    第一篇博客,共同学习