android 7.0 popwindow显示位置异常,在android7.1官方进行解决了,但是还是要多7.0的bug进行解决,我的解决方案里面通过重写popwindow进行适配: import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; import andro…
虽然 Android 9.0 都已经面世了,本篇文章写的有点迟了. 但是迟到好过不到,因此基于此这边还是记录一下项目中遇到的 Android 8.0 的坑及对应解决方法. 每次系统升级,虽然系统功能更加强大了,各方面性能也提高了. 但是对于开发者而言,一个困扰的问题也是随之而来--兼容. 尤其对于一些已经上市的 App 而言,在新系统发布之前就要了解到底有哪些改动,以避免用户升级新系统后导致 App 没法正常运行. 好了,回归主题,说说 Android 8.0 里面的几个坑吧. 唤不起系统安装器…
在开发app的时候会遇到有些测试手机没有物理按钮,比如最近在做的一个app在小米手机上运行显示效果很好,但是在华为P7手机上显示就乱了,底部的NavigationBar直接覆盖在主视图上,导致按钮无法触发. 正常效果.jpg 异常效果.jpg 解决的方法就是先判断手机是否有物理按钮,然后计算底部的NavigationBar高度,最后设置试图边距. public int getNavigationBarHeight() { boolean hasMenuKey = ViewConfiguratio…
对于前面问题的分析:来源于http://blog.163.com/yuyang_tech/blog/static/216050083201211144120401/ 解决方法1: //来源:http://www.cnblogs.com/yuzhoufeng/archive/2011/12/11/2284200.html 今天学习VC++ 2010 MFC单文档应用程序中动态添加菜单,下面是代码部分: 1 2 3 4 5 6 7 8 9 10 11 12 13 int CMainFrame::On…
那么下面就给出解决方法(无需root): 1.完全屏蔽网络检查功能,最简单快速,但是就没有办法提示wifi登录: adb shell "settings put global captive_portal_detection_enabled 0" 2.用国内的服务器替换掉google的服务器: adb shell "settings put global captive_portal_server xn--yet824cpd.xn--fiqs8s" 这个服务器是我自…
今天我在搜索数据库里面优惠码字段 直接使用 select * from table 的命令的时候 由于 第一个 字段过长导致后面的都无法显示全..我还是宽屏! 所以 搜索了一下 可以让 它单行显示 使用这个命令就解决问题了 select * from table\G;…
其实有遇到过多次,而且还有几次是css在预编译的时候,系统编码不对也会报错. 贴一个写的还不错的文章:http://www.360doc.com/content/11/0728/09/7102324_136272758.shtml 这个是为了解决没有安装en_US.UTF-8:https://segmentfault.com/n/1330000004666729 正常显示的配置: locale LANG=en_US.UTF-8LANGUAGE=en_US:UTF-8LC_CTYPE="en_US…
Android 8.0 行为变更 Android 8.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android.不过,有几项变更仅影响针对 Android 8.0 的应用.为清楚起见,本页面分为两个部分:针对所有 API 级别的应用和针对 Android 8.0 的应用. 针对所有 API 级别的应用 这些行为变更适用于 在 Android 8.…
上一篇文章主要是參照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright.libstagefright_color_conversion等动态静态库,从而造成程序具有非常高的耦合度,也不便于我们理解yuv数据直接显示的深层次原因. 于是我開始研究SoftwareRenderer的详细实现,我们来提取SoftwareRenderer的核心代码,自己来实现yuv的显示. SoftwareRenderer就仅仅有三个方…
Android 8.0 为用户和开发者引入多种新功能.本文重点介绍面向开发者的新功能. 用户体验 通知 在 Android 8.0 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式.这些变更包括: 通知渠道:Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别.要了解如何实现通知渠道的信息,请参阅通知渠道指南. 通知标志:Android 8.0 引入了对在应用启动器图标上显示通知标志的支持.通知标志…
最近呢说要上线,就去找了下上线的方法...之前做过代码混淆,用的是progarud.cfg,但是呢自己反编译了之后还是无效,然后就丢着先不管了,因为实在不知道什么情况.今天来上线的时候结果总是报错,总是报proguard returned with error code 1.See console错误,到网上查了下情况,分为三种:情况1:Proguard returned with error code 1. See consoleError: C:/Documents (系统找不到指定文件)这…
如何复现 连续启动两个 Activity ,其中 Activity 1 为 不透明 的 Activity Activity 2 为 透明 的 Activity 通常用于引导页面,例如:豌豆夹锁屏引导用户开启 辅助功能 Android 4.x ~ 5.x 效果 Android 6.x 效果 产生原因 确认是 Android 6.0 的 Bug Issue 187887,该 Bug 只会在连续启动两个 Activity 时出现. 解决方案 在 Google 解决该 bug 之前,临时的解决方案 st…
最近在 写项目的时候  发现 通知并不会显示的问题,查看资料发现 从Android 8.0开始通知必须加上ChannelId Android O 引入了 通知渠道(Notification Channels),以提供统一的系统来帮助用户管理通知,如果是针对 android O 为目标平台时,必须实现一个或者多个通知渠道,以向用户显示通知.比如聊天软件,为每个聊天组设置一个通知渠道,指定特定声音.灯光等配置 String id = "my_id"; String name="m…
1.问题起源报错语句是:java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes因难以避免WebView存在安全漏洞,系统遭受攻击,Android不允许特权进程应用使用WebView.如果使用了,便会抛出以上异常.特权进程包括sharedUserId为ROOT_UID和SYSTEM_UID的进程,从Android O(8.0)开始共享P…
问题1 :android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.xxx.xxx.xxx.release/files/Download/2017120600.apk exposed beyond app through Intent.getData() 问题2 : 已经做了 Android 7.0 的 FileProvider 的适配,但是在应用内下载升级的时候提示 "解析包出现问题"…
app 在 Android 7.0 上登录的时候, Dialog 不显示了,但是半透明背景显示 经过搜索和对比,发现出现该问题是因为重写了 getResources() 方法造成的 .重写该方法是为了 app 的字体不会随着手机字体的改变而变化,造成布局混乱,设置字体用到变量 fontScale ,其他的参数不用. 原始代码: /** * 设置 app 不随着系统字体的调整而变化 */ @Override public Resources getResources() { Resources r…
之前开发的一个和第三方合作的apk,在之前公司的 Android 5.1 系统的手表上运行正常,今天在公司新开发的 Android 7.1系统的手表上运行的时候,使用 DownloadManager 下载之后,查询下载状态的时候,报了异常 java.lang.SecurityException: COLUMN_LOCAL_FILENAME is deprecated; use ContentResolver.openFileDescriptor() instead 异常详细信息如下: 03-17…
当点击某个按钮并弹出PopupWindow时,PopupWindow左下角默认与按钮对齐,但是如果PopupWindow是下图的那样,会发 生错位的情况,尤其是不同尺寸的平板上,那错位错的不是一般的不靠谱,而Android本身只提供了如下几个方法设置PopupWindow显示位置 showAsDropDown(View anchor, int xoff, int yoff) 以anchor的左下角为参照点,定义偏移 showAsDropDown(android.view.View) 以ancho…
最近作者又碰到因为android 7.0 引起的兼容问题了. 在7.0以前的版本: //创建临时图片 File photoOutputFile = SDPath.getFile("temp.jpg", SDPath.PHOTO_FILE_STR); Uri photoOutputUri = Uri.fromFile(photoOutputFile); 这个file文件直接非常简单的转换成"file://XXX/XXX/XXX"的uri格式 7.0后的版本: 当把ta…
Android 6.0 扫描不到 Ble 设备需开启位置权限 之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试的,今天使用 Android 6.0 的设备测试的时候,发现扫描不到周围的 Ble 设备.后来发现 6.0 需要在应用运行过程中请求位置权限,并且还要打开位置. 动态申请位置权限 ACCESS_COARSE_LOCATION 在 AndroidManifest.xml 文件中加入 <uses-permission android:name="androi…
adb shell dumpsys activity activities | findstr mFocusedActivity Android 7.0 现象: Android 8.0 现象: 改用:  adb shell dumpsys activity activities | findstr mResumedActivity…
转:http://zuiniuwang.blog.51cto.com/3709988/721798 从Android 3.0开始,Android 2D的绘制流程就设计为能够更好地支持硬件加速.使用GPU的View在Canvas上进行画的操作时都会使用硬件加速.在最新的Android版本里,图形硬件加速及绘制技巧得到了更好的提升,51CTO特约了最牛网站长作为本站专栏作者,为各位网友撰写Android 4.0开发相关文章. 1.Android 4.0硬件加速的使用 1.1 硬件加速的控制级别 启用…
本节书摘来自异步社区<深入理解Android 5 源代码>一书中的第2章,第2.2节分析Android源代码结构,作者 李骏. 网址:https://yq.aliyun.com/articles/93279?spm=5176.100239.blogcont93310.17.gtBsUg 2.2 分析Android源代码结构 获得Android 5.0源代码后,源代码的全部工程分为以下3个部分. Core Project:核心工程部分,这是建立Android系统的基础,被保存在根目录的各个文件夹…
原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/48371123 http://inthecheesefactory.com/blog/things-you-need-to-know-about-Android-m-permission-developer-edition/en 一.Marshmallow版本权限简介 android的权限系统一直是首要的安全…
看了bilibili的客户端搜索按钮,很喜欢大爱!自己也想做个类似的(相似度 10% 哈哈) popWin的出现退出动画也可以自己设定,用过其方法setAnimationStyle(R.style.xxx)设置Style文件进而设置显示退出动画 <!-- popwindow进入和退出动画 --> <style name="popwin_anim_style"> <item name="android:windowEnterAnimation&qu…
Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出内容. Material Design对排版.材质.配色.光效.间距.文字大小.交互方式.动画轨迹都做出了建议,以帮助设计者设计出符合Material Design风格的应用. Material Design设计语言鼓励大家使用充满活力的鲜艳色彩,并在同一界面建议使用…
原文链接:http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html 伴随着新特性和功能,Android 6.0 (API level 23) 还包含了一些系统以及API行为上的变化.本文着重指出了一些你(开发者)需要了解,并在开发应用时予以考虑的关键变化. 如果你之前发布过Android应用,那么请注意,平台的这些变化会影响到你的应用. 运行时权限(Runtime Permissions) 本…
截图的几种方法 Android获取屏幕截图主要有以下三种方法 1.通过view.getDrawingCache()获取指定View的绘制缓存来实现截屏. 这种方式Android 5.0之前也可以,且不需要权限.可以截取本应用内任意位置的屏幕截屏,可能会有些webview会截取不到. 注意这种方式只能获取当前应用内的截图(连顶部状态栏中的时间等都信息都获取不到,获取到的状态栏是一片空白). 2.通过Linux底层驱动来实现截屏. linux的图像信息都是通过FrameBuffer来写到显示设备上的…
作者:Redyan, 腾讯移动客户端开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/288.html 导语 8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备.除了修复常规BUG,Android 7.0还新增了分屏.新的Notification.VR支持等新特性. 8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,他…
WeTest 导读 谷歌2017 I/O开发者大会上发布了Android 8.0的正式版, 其官方代号为Oreo(奥利奥).网上关于Android8.0新功能特性的介绍已铺天盖地,新功能特性会对程序应用带来哪些影响呢,我们从兼容性角度来看下这部分变化. 测试版本:Android 8.0  一.安装启动测试 Android O中权限设置新增安装限制功能,即每个APP的「安装未知应用」功能将默认被限制,避免关联应用自动安装的问题,特别是针对一些流氓应用比较有效. 1.测试目的 检查游戏.APP在An…