扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在flutter开发过程中,发现Android手机在App首页点击物理返回按钮时,App会退出并且再次点开App时会重新启动,这代表了上次的退出直接杀死了App,和我们平常的退到手机桌面不同,所以开发了一个单独插件来处理这种情况。
创新互联建站是一家集网站建设,安居企业网站建设,安居品牌网站建设,网站定制,安居网站建设报价,网络营销,网络优化,安居网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
使用步骤如下:
1、pubspec.yaml文件中引入依赖
2、引用插件
3、使用插件来退出App到桌面,并且保持App后台运行
可根据实际情况在_onWillPop方法中处理相关逻辑,比如连续两次点击物理返回按钮才退出到桌面等。
一、try cacth 可以捕获同步异常,使用catchError捕获异步异常
二、不论是同步异常还是异步异常我们都可以使用Zone捕获到
三、framework层的异常,系统会提供给FlutterError类,所以我们可以把这个错误统一交个zone去处理
可以自己通过文件去上报,也可以使用bugly去上报
在android/app/build.gradle的android下加入
64-bit
32-bit
通过FlutterBugly.getUpgradeInfo()获取更新策略信息填入自定义flutter widget,手动弹窗
UpgradeInfo参数:
异常上报说明
1、flutter异常上报不属于崩溃,所以如需查看flutter的异常上报,请在【错误分析】tab页查看
2、iOS的异常上报没有过多测试,如出现问题请issue
目前已知问题
1、第一次接受到更新策略之后,不会弹窗,即使手动检查更新也不会,需要退出app之后再进入,才会有弹窗(已解决)
2、官方没有适配8.0的notification,所以如果需要用到notification的时候请关闭后(默认关闭),自己写相关业务逻辑,或者直接把gradle里的targetSdkVersion设成26以下(方法见示例)
1、Avoid empty catch blocks.
如果try catch 中的catch没有任何实现则需要把catch的e异常改为_即可消除警告
2、Prefer const with constant constructors.
意思是需要加上const常量修饰符
3、Prefer using if null operators.
发生在使用三目运算符当中
4、The '!' will have no effect because the receiver can't be null.
在定义空安全之后的使用中
5、Don't access members with this unless avoiding shadowing.
引用了this关键字
6、SizedBox for whitespace.
使用Container布局
6、Unnecessary new keyword.
创建布局控件时使用new关键字
7、Avoid using braces in interpolation when not needed.
日志输出的时候对于单独的变量使用了大括号
8、Use key in widget constructors.
定义的StatefulWidget 中没有添加构造方法
9、The method doesn't override an inherited method.
定义方法之前添加了@override
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流