专栏首页阿策小和尚Android 极光推送与 WebView 日常问题小结

Android 极光推送与 WebView 日常问题小结

和尚整理一下最近遇到的两个小问题;

JPush {no value foris provided}

极光推送在日常的应用中应用广泛,集成简单送达率较高,和尚刚开始集成时很方便,但是随着项目的逐渐变大,分包和组件化等应用比较多,此时单独出 push Module 应用时,会遇到如下问题:

此时虽然会提示问题,但是程序的运行与打包以及推送方面也都是正常;但有问题总是要解决的;

和尚首先检查 JPUSH_APPKEYJPUSH_PKGNAME 等配置是否正确;一切正常,核对了官网的集成配置也是正确的,之后差了很多资料,尝试在分包的 Module 下也配置对应参数,即可正常;

manifestPlaceholders = [
    JPUSH_PKGNAME: applicationId,
    JPUSH_APPKEY : "95hh351b9cc0a8b16e3f5d00", //JPush 上注册的包名对应的 Appkey.
    JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
]

和尚理解是极光推送在分 Module 时,需要在当前 Module 和引入极光推送的 Module 中均引入包名和 JPUSH_APPKEY 等才可正常应用。

WebView 禁止 VideoView 手势

WebView 可以播放普通网页或视频网页,方便快捷,不仅如此,视频播放器自带的操作按键都支持,此时视频 url 主要包括 < video > 标签;

和尚用 WebView 播放视频网页,一般 < video > 都是默认自带开始暂停等操作按键;和尚需要关闭这些操作按键,但是 WebView 并没有提供对应的方法;和尚只能从视频源上来处理,首先了解一下 < video > 标签;

controls    向用户显示控件,比如播放按钮等操作按键
autoplay    视频自动播放
loop        视频循环播放
muted       视频静音播放
src         视频资源 url
height      视频播放器高度
width        视频播放器的宽度

controls 属性用来控制操作按键,若 < video > 取消该属性即可满足和尚需求;

 < video name="media" autoplay muted loop >

和尚在本地写一段 < html > 标签,手动设置 < video >controls 去掉,并将 url 添加进入,借助 loadData 方法调用;而此时需要获取视频属性,包括时长等可以通过编辑 js 来获取,与普通 html 无异;

String myHtmlStr = "<html><head><meta name=\"viewport\" content=\"width=device-width\"></head><body><video "
    + "name=\"media\" autoplay muted loop><source src="
    + URL
    + "></video></body></html>";

mWebView.loadData(myHtmlStr, "text/html", null);

Tips: 和尚在各个机型上测试,发现部分 vivo 设备加载视频后不会自动播放,查找之后发现需要设置 WebSettingsetMediaPlaybackRequiresUserGesture 属性,即可自动播放;而该属性需要在 SDK>=17 才可使用,需注意。

WebSettings settings = mWebView.getSettings();
settings.setMediaPlaybackRequiresUserGesture(false);

和尚这次整理的内容较少,但却是在日常开发中遇到的问题,希望遇到相同问题的朋友可以避免。

本文分享自微信公众号 - 阿策小和尚(gh_8297e718c166),作者:阿策小和尚

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 解决 Android PLMediaPlayer 视频播放异常小结

    和尚最近一直在处理一个比较纠结的问题,项目中接入了七牛云视频SDK PLMediaPlayer,七牛云视频SDK是很强大的一款三方视频库。 ...

    阿策
  • 程序猿的日常:Windows 局域网内连接打印机图解,超便捷!

    和尚我今天整理一下如何在局域网内配置连接打印机,步骤很简单,并不会像网上说的安装驱动等杂七杂八的步骤,傻瓜式安装步骤,方便简单,适合和尚我这种不懂计...

    阿策
  • 【Flutter 专题】82 初识 Flutter Stream (二)

    和尚上周刚学习了 Stream 的部分方法,对 Stream 流的认知还很浅显,今天继续学习基础的 Stream 方法;

    阿策
  • AS3的splice

    当第一个元素为-1时,竟然删除了集合的最后的元素,实在是...倒数删除,倒数第一个元素的Index = -1 , 倒数第二个为 -2 , 依次类推,并非不删除元...

    py3study
  • Jquery 遍历数组之$().each方法与$.each()方法介绍

    $().each() 对于这个方法,在dom处理上用的比较多,如果一个html页面上面有多个checkbox,这时用$().each来处理checkbox是比较...

    郑小超.
  • 视频换脸新境界:CMU不仅给人类变脸,还能给花草、天气变脸 | ECCV 2018

    那么,怎样的迁移才可走出这个框框,让这个星球上的万物,都有机会领取视频改造的恩泽?

    量子位
  • 嘿嘿,想变成会跳舞的小哥哥或小姐姐吗?超简单!

    作者:Caroline Chan、Shiry Ginosar、Tinghui Zhou、Alexei A. Efros

    机器之心
  • 给你的项目添加一个灵活的“开关”

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • node运行js获得输出的三种方式

    小小咸鱼YwY
  • 从YOLOv1到YOLOv3,目标检测的进化之路

    这是继 RCNN,fast-RCNN 和 faster-RCNN之后,Ross Girshick 针对 DL 目标检测速度问题提出的另外一种框架。YOLO V1...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券