- android 6.0 后网络请求权限配置
android:usesCleartextTraffic="true"
- 使用retrofit 网络框架或者OKHttp框架时候需注意 [Java8的新特性]
在build.gradle中添加以下代码
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Activtity多层页面跳转,返回调用finish() 页面重复
修复:
最近写的一个模块 页面返回重复 返回调用finish 和重写Ondestroy 有一页面返回需调用两次finish(); 最后发现是ACtivity启动方式不好 修改为android:launchMode="singleTask" 问题解决实现开机启动app中的一个服务时,在Receiver中不能通过startService启动,因为在android 8.0之后需要通过startForegroundService方式启动即可。不然可以启动服务失败而崩溃.
- 视频几大开源播放器
5.1 GSYVideoPlayer
项目地址: https://github.com/CarGuo/GSYVideoPlayer
介绍: 视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation 的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表 全屏动画
5.2 ExoPlayer
项目地址: https://github.com/google/ExoPlayer
介绍: ExpPlayer是一个开源的,App等级的媒体API,它的开源项目包含了library和示例:ExoPlayer
library- 这部分是核心的库
Demo app- 这部分是演示怎么使用ExoPlayer的Demo
5.3 ijkplayer
项目地址: https://github.com/Bilibili/ijkplayer
介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供 Android 平台 下应用弹幕集成的解决方案。
- 添加Window弹出遇到的问题
: Unable to add window android.view.ViewRootImpl$W@a81209d -- permission denied for window type 2038
解决方式:
1. 添加权限
2. 设置LayoutParams的type值
int LAYOUT_FLAG;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
} else {
LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_PHONE;
}
layoutParams.type = LAYOUT_FLAG;