近段工作中遇到一个奇怪的问题:客户的apk在Android7.1上能正常使用,能在线全屏播放视频,把这个apk安装到公司Android5.1的平台是就出现不能全屏播放的问题,由于客户的应用源码不对外开放,为了验证平台是否兼容,本人自己就写了个Demo进行验证。
现在的Html5网页开发越来越盛行,产出效率也大大提高,Android应用端和html的混合开发日益普及。就比如下面我在Demo中实现的两个页面,传统的写法至少要一周左右的时间,但是在apk中通过WebView的方式只需要花两三个小时就可以实现,并且网页上所有的功能都能保留,这也就意味着从互联网向移动互联网的迁移效率大幅提升,开发成本也能够在很大程度是得到降低。当然直接把网页上的东西迁移到apk上也存在一些弊端,比如用户的体验以及软件整个的稳定可控性相对较差。
废话不多说,首先来看看我们要实现的核心业务:1、实现在线登录;2、实现在线视频全屏播放。效果图如下:
图一 奇点学院在线登录界面
图二 点击学习指南会弹出在线视频
全屏播放只需要点击视频弹窗右下角的图标即可,效果图如下:
图三 在线视频全屏播放图
代码结构:
一、清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxx.webviewtest">
<uses-permission android:name="android.permission.INTERNET"/> <!—该应用需要联网,所有联网是前提-->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</act