Android 获取浏览器当前分享页面的截屏 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/BrowserScreenShotActivity 文中如有纰漏,欢迎大家留言指出. 今天在项目中碰见这么一个需求:获取 Chrome 浏览器分享时,页面的截屏.静下来一想,既然是分享,那么肯定得通过 Intent 来传递数据,如果真的能获取到 Chrome 分享页面时的截屏,那么 Intent 的数据中,一定有 .jpg 或者 .png 结尾的数据.说…
1. 应用内的代码截屏(获取View的快照) Android的View类中提供了获取控件绘制缓存的方法,这种截屏的方式仅限于应用内自己的Activity界面,不需要任何权限,严格来说该方法不属于截屏,只是获取某个View控件每次绘制后的快照,代码如下: 截取某一个控件绘制后的快照: // 获取需要截取快照的控件 View view = findViewById(R.id.my_view); // 设置控件允许绘制缓存 view.setDrawingCacheEnabled(true); // 获…
这里主要用到了原生模块,下面贴出FlagSecureModule.java的代码 package com.studyproj.flagsecure; import android.util.Log; import android.widget.Toast; import android.view.WindowManager; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.br…
最近公司有个需求,要求从第三方网页端打开一个网页,然后在网页中点击“下载”,“打开”按钮,在app端进行下载和打开操作.这里记录下方法. 首先,网页和app页面进行交互,其实会很快想到JS交互,但是现在需要在第三方浏览器中,那就没法拿到Webview,也就没法js互交,所以这里android也提供有方法. 看一个静态页面(html): <BODY> <a href="hjz://com.zjmk.hjz_progressmotirx/openwith?gameid=12007&…
javascript实现当前页面截屏 一.前言 有客户要求能对用户当前页面进行指定区域截屏,类似qq截屏的实现效果.比如用户在处理工作的时候,将当前页面录入后的一些信息进行截图下载保存.但又不能安装任何客户端控件,只能用javascript实现.网上搜索了一下,没有可用的方案(http://www.2cto.com/kf/201301/184453.html,这个虽然提供了方法,但是在实际使用中无法满足,例如支持低版本的IE,支持内嵌的iframe截图).但是也找到了一些可能的思路,经过几天奋战…
Android截屏的几种实现 微信公众号:CodingAndroid CSDN:http://blog.csdn.net/xinpengfei521 最近我们的APP要求需要截屏功能,网上看了看大致有一下几种实现的方式,由于我们的机器是特定的设备,(类似于广告机,已经ROOT),所以就采用最简单的方式,只需在代码中执行shell命令即可实现,下面就给大家介绍一下各种截屏的方式. 方式一 public static Bitmap capture(Activity activity) { activ…
1. 手动截屏,通过其他第三方软件发送截图,或者从手机取出截图 2. 使用命令截图,将截图保存到手机,再拉取到电脑 #!/bin/sh #运行 sh screenshot name picName=$1 filePath='caps' if [ ! $picName ];then picName=`date +"%F_%H%M%S"` fi if [ ! -d ${filePath} ];then mkdir ${filePath} fi for i in `adb devices|g…
项目开发中,为了用户信息的安全,会有禁止页面被截屏.录屏的需求. 这类资料,在网上有很多,一般都是通过设置Activity的Flag解决,如: //禁止页面被截屏.录屏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); 这种设置可解决一般的防截屏.录屏的需求. 如果页面中有弹出Popupwindow,在录屏视频中的效果是: 非Popupwindow区域为黑色 但Popupwindow区域仍然是可以看到的 如下面两张Gif图…
 http://blog.csdn.net/xww810319/article/details/17607749 Android截屏浅析 链接:http://blog.sina.com.cn/s/blog_69a04cf4010173fz.html Android的调试工具DDMS提供截屏功能,很多同步软件例如豌豆荚也都提供截屏功能,经分析Android截屏原理大致如下: DDMS是通过adb调用设备端的adbd(ADBdaemon)提供的framebufferservice进行截屏(源码在sy…
截图介绍   Android的调试工具DDMS提供有截屏功能,很多软件也会有截屏功能,在做支付等安全类应用的时候,为了保证用户的资产和系统安全,往往会禁止应用内截屏,禁止之后,在此应用处于前台的情况下,截屏功能将不能使用,如下图所示 截图的原理 DDMS的实现方式   DDMS是通过adb调用设备端的adbd(ADB daemon)提供的framebuffer service进行截屏(源码在system/core/adb/framebuffer_service.c),在较早版本的Android中…
前言 涉及到的源码有 frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\screenshot\TakeScreenshotService.java vendor\mediatek\proprietary\packages\app…
摘要: Fundebug竭诚为你的小游戏保驾护航. 想必大家都玩过"跳一跳"吧?刷排行榜的感觉是不是很好啊!还有"知乎答题王"呢,在智力上碾压老铁简直太棒了! 自带社交属性的小游戏很火,是微信帝国的另一座金矿! 为什么监控小游戏? 理论上来讲,BUG是无法避免的,实时监控阔以帮助开发者第一时间发现BUG,及时修复BUG,将BUG的影响降到最低. 开发者通常是比较自信的,他们坚持我写的代码当然没问题.然而,再拷问一下自己: 我的代码真的100%没有问题吗? 我做了完整…
有时候我们需要进行截屏操作,特别是遇到一些比较重要的页面信息(出现错误)或者出现不同需要进行对比时, 我们就需要对正在处理的页面进行截屏! 未经作者允许,禁止转载! package test_wait20161205; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.o…
最近在做新业务需求的同时,我们在 Android 上遇到了一些之前没有碰到过的问题,截屏分享. WebView 生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题,在这过程中踩了很多坑,到目前为止绝大部分的问题都还算是有了比较满意的解决方案.以下就从三个方面来总结一下过程中遇到的挑战和最后的解决方案. 一.概述 最近在做新业务需求的同时,我们在 Android 上遇到了一些之前没有碰到过的问题,截屏分享. WebView 生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题…
这篇文章主要介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 前言 本文中主要介绍了关于利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 不多说了,每个方法都注释了,可以直接用: 示例代码 <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip…
对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意思的问题,记录下来. 1,场景描述 网站SiteA上的页面Page2需要登录后才能查看,Page2的链接放在页面Page1的一个按钮Button上,Page1在登录前后都是可以访问的,SiteA只提供了微信扫码登录的入口. 2,功能需求 假定访客User已经在SiteA上注册过,但当前未登录.Use…
头部引用jquery包 将下面的一段js写在</body>的前面 <script type="text/javascript"> var ua = navigator.userAgent.toLowerCase(); //判断是不是移动端iPHone Safair浏览器打开的本页面 if (ua.indexOf('applewebkit') > -1 && ua.indexOf('mobile') > -1 && ua…
不多说了,每个方法都注释了,可以直接用: <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FO…
首先说一下js动态获取浏览器或页面等容器的宽高的方法大体有哪些: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body…
最近碰到一个同事询问如何查询本地安装的浏览器列表,其使用的代码如下: public static List<ResolveInfo> getBrowserList(Context context) { PackageManager packageManager = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_BROW…
1.直接上效果图 2.代码 主要就是工具类HtmlService.java: import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /** * 获取HTML数据 * * @author David * */ public class HtmlService { public static String get…
无法截屏主要原因是webview渲染方式所导致:只需要AndroidManifest.xml中设置属性Android:hardwareAccelerated=”false”.…
转自:http://blog.csdn.net/dianyueneo/article/details/40683285 Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork 14884(入群理由必须填写群简介问题答案)4489 63224677(三群已满) 欢迎大家推荐好的Android开源项目,可直接Star.Fork :) 对你有帮助的话,顺手去知乎点个赞吧: 目前包括: ActionBar.ViewPager.GridView.Progress…
背景分析 EasyNVR整套方案的架构中,涉及到前端设备(摄像机IPC.硬盘录像机NVR.编码器等).流媒体服务端(EasyNVR).客户端终端设备(PC.浏览器.Android.iOS.微信). 在保证EasyNVR和前端设备之间网络相通的基础条件下,EasyNVR通过获取数字网络摄像机视频流完成音视频的采集,然后由EasyNVR内部实现流媒体协议转换.转码和流媒体分发工作,最终可以分发出RTMP.HTTP-FLV和HLS流,EasyNVR自身也可以对实时视频流进行存储和管理,同时EasyNV…
刚开始打算做一个简单的截屏程序时,以为很轻松就能搞定. 在Activity上放一个按钮,点击完成截屏操作,并将数据以图片形式保存在手机中. 动手之前,自然是看书和网上各种查资料.结果发现了解的知识越多,就越发感觉不对劲. 截屏,总以为其类似于其他小应用的开发,有现成的接口或者只需要稍微改动就能达到预期的效果. 一般讲解Android的书籍并没有提到截屏的内容,网上的文章很多,但也没有哪篇文章能真正完整地把解决思路和具体实现说清楚的. 总结的比较合理的一篇文章为Android截屏学习经历. 直白点…
Android App开发时由于布局相对麻烦,很多时候一个App通常是由html5和原生控件相结合而成.简单的网页应用可以直接内嵌html5页面即可,对于需要调用复杂的底层功能时则采用原生控件的方式进行调用.既然如此,那么如何在控件中插入网页?又如何调用浏览器呢? 一.App控件中插入网页内容 WebView webView = (WebView) view.findViewById(R.id.webView); //加载服务器上的页面 webView.loadUrl(mArticle.getL…
在做分享功能的时候,需要截取全屏内容,一屏展示不完的内容,一般我们会用到 ListView 或 ScrollView 一: 普通截屏的实现 获取当前Window 的 DrawingCache 的方式,即decorView的DrawingCache /** * shot the current screen ,with the status but the status is trans * * * @param ctx current activity */ public static Bitm…
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53966818 前言:一年半多以前,我们曾有个项目,要做一个截屏功能,当时负责调研的同事,答应了产品上这个功能,但开发一周后,发现,无法实现截取手机屏幕图像,须要root权限,才能做.因为最近研究MediaProjection,意外的发现,竟然无须root,可以轻松实现次功能.曾经被做不到的,如今做到了,很难相信此时的心情.看下今天…
首先PhantomJS快速入门 PhantomJS是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG. PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等. 一.安装 安装包下载地址: http://phantomjs.org/download.html ,包括 Windows ,Mac OS,Li…
在很多应用的web站,其实都有这样一个功能,就是直接在网页中打开应用,接下来的就来探讨一下这个功能的实现,有些地方也我还没弄明白,还请懂的大神指点. 首先,得说一点不好消息,在微信中,这样的方式是行不通的,因为微信把这种Intent(这个功能本身也就是一个Intent)给干掉了: 首先来看一段代码: <intent-filter> <action android:name="android.intent.action.VIEW" /> <data andr…