会员服务3-3_Lib

这篇博客记录了会员服务开发中的库使用经验,包括锁屏解屏时的生命周期管理、异常处理、资源文件命名规范、自定义ActionBar、TabLayout的使用细节以及Fragment与TabLayout的交互。重点探讨了如何在不同场景下正确操作和优化应用行为。
摘要由CSDN通过智能技术生成

这是记录会员服务开发时的一些Lib,仅供再次翻阅。

1.锁屏,解屏时的生命周期

在做指纹解锁时,需要判定当前的屏幕状态是不是锁屏。
按照我的理解,指纹解锁应该是传感器,使用它需要获取Authenticate。当锁屏的状态下,需要两次指纹解锁,锁屏到开屏时的指纹解锁,以及我们程序的指纹解锁。但是如果这个Authenticate被系统获取,那么软件中需要重新获取;如果Authenticate被软件获取,系统就不能用指纹开锁。所以监听了屏幕状态,在锁屏时释放Authenticate,解屏时获取Authenticate。

关于锁屏解屏时的生命周期可看这篇文章:关于锁屏和回到桌面的activity生命周期的疑问

在onPause() 和 onResume() 方法中分别释放Authenticate和获取Authenticate。

2.异常

异常信息:Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.
错误原因:在adapter中设计点击Intent跳转activity事件,传入的Context不是activity的context
解决办法:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

FLAG_ACTIVITY_NEW_TASK:默认的跳转类型,它会重新创建一个新的Activity,不过与这种情况,比如说Task1中有A,B,C三个Activity,此时在C中启动D的话,如果在AndroidManifest.xml文件中给D添加了Affinity的值和Task中的不一样的话,则会在新标记的Affinity所存在的Task中压入这个Activity。如果是默认的或者指定的Affinity和Task一样的话,就和标准模式一样了启动一个新的Activity.

3.tips

一个项目,有很多module,或者lib,或者aar引用,记得使用的资源文件名,特别是layout,mipmap,drawable文件名,不要重名。

否则就会出现,多module时,依赖包加载的仍是主module的资源

4.actionBar相关

actionBar有一个setCustomView( int layoutId )函数,用于自定义actionbar样式。注意下高度和侧边。

5.tablayout

( 1 ) 改变选中不同tab时的背景颜色

tablayout改变字体颜色倒是方便,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值