android
黄大包
呵呵哒
展开
-
glUseProgram: GLES20 error: 1285
surfaceview发布、播放视频流的时候,view必须是可见的、在视图范围内,surfaceview才能正常渲染;原创 2023-09-12 10:58:09 · 327 阅读 · 0 评论 -
APP在后台的情况下跳转activity,APP自动切换到前台
1. 当需要跳转activity的时候,判断下当前APP是否在前台,如果在前台,则直接跳转;如果在后台,就记录下状态,当APP切换到前台的时候再进行跳转。1. APP全局有网络监听,当网络状态发生变化的时候,会跳转到ConnectActivity页面。APP从前台自动切换到后台,这是 android 4.4 后修改的新特性。2. 启动APP,切换到后台,切换网络,APP自动切换到前台。2. 当需要跳转activity的时候,intent增加参数。这样的话,即可实现app自动从前台再切换到后台;原创 2022-09-21 15:59:27 · 2738 阅读 · 1 评论 -
android使用tcpdump抓包
android使用tcpdump抓包原创 2022-08-30 16:53:04 · 6120 阅读 · 0 评论 -
Android获取设备旋转角度
无原创 2022-07-12 16:54:50 · 1030 阅读 · 1 评论 -
自定义view拖拽缩放
目标:点击view,盖住半透明原创 2022-07-12 16:17:57 · 1664 阅读 · 0 评论 -
camera2配合TextureView打开相机 关闭camera后清空最后一帧
打开相机后,关闭相机,TextureView会残留最后一帧的画面原创 2022-07-07 15:45:03 · 3090 阅读 · 8 评论 -
解决安卓浏览器下载应用并安装,打开,切后台,点击桌面图标,应用重启。
bug场景描述:荣耀20pro,浏览器扫码下载apk,并安装,打开,切换到后台,点击桌面图标,应用重启,如果从后台进程中启动应用,则应用不会重启。杀死程序后台,点击桌面图标启动,切换到后台,再次点击桌面图标,应用不会重启。问题描述完毕,先排查是否应用的问题,下载qq浏览器,进行如上操作,问题复现了。分析:想起来以前遇到的问题,应用启动后,切换到后台,再次点击图标,应用重启,当时遇到这个问题的机型还挺多,解决方案就是在启动页动手脚。网上找到一个相应的帖子:Android通过本地原创 2021-10-21 16:00:19 · 1306 阅读 · 0 评论 -
安卓camera2 surfaceview预览MediaCodec硬编码
说明:单纯的用代码记录下实现过程,目前预览分辨率写死1280*720,实际使用过程中需要去选择合适分辨率。my_test_activity.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:l原创 2021-10-13 15:45:45 · 1743 阅读 · 0 评论 -
camera2打开闪光灯的坑
判断是否有闪光灯代码:Boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);一般打开闪光灯代码:mCameraManager.setTorchMode(mCameraId, true);关闭闪光灯代码:mCameraManager.setTorchMode(mCameraId, false);但是我在打开相机之后,在开启闪光灯,提示失败:...原创 2020-12-17 11:15:21 · 4380 阅读 · 1 评论 -
安卓adb下执行top -s cpu报top: not integer: cpu解决办法
安卓9.0开发板出现如下问题:adb shell top -s cpu是按cpu排序的意思,但是我下载的adb使用-s命令时会报top: not integer: cpu度娘无解,想到adb top --help命令可见,我的adb shell top -s命令只支持0-X数字,默认9,猜测分别指代0 ,1 ,3 ,4 ,5 ,6 ,7 ,8,9 ,10 ,11 ,12PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CM原创 2020-08-24 17:02:38 · 1742 阅读 · 0 评论 -
android adb命令 抓取系统各种 log
android adb命令 抓取系统各种 loggetLog.bat:adb rootadb remountadb wait-for-deviceadb logcat -v time > C:\log.txt在Android中不同的log写到不同的设备中,共有/dev/log/system, /dev/log/main, /dev/log/radion, /dev/log/events四中类型。其中默认Log.v等写入/dev/log/main中。Slog写入/dev/log.转载 2020-07-20 16:50:46 · 3446 阅读 · 0 评论 -
android adb不常见命令使用
常见问题:adb shell,后执行命令,出现:Failed to open mixer说明没有系统权限,输入:su 回车,即可获的root权限,可以对系统参数进行修改adb shell后,所有的设置都是临时的,一旦设备重启,即恢复默认;1. adb修改设备声音模块大小执行tinymix 16 147 147tinymix 17 147 147输入:tin...原创 2020-04-03 16:10:59 · 1322 阅读 · 0 评论 -
安卓局域网组播
知识背景:组播使用UDP对一定范围内的地址发送相同的一组Packet,即一次可以向多个接受者发出信息,其与单播的主要区别是地址的形式。IP协议分配了一定范围的地址空间给多播(多播只能使用这个范围内的IP),IPv4中组播地址范围为224.0.0.0到239.255.255.255。MulticastSocket概念:java中通过MulticastSocket实例进行通信,使用时涉及...原创 2020-01-20 11:19:11 · 903 阅读 · 0 评论 -
安卓双屏异显的实现
需求:在做项目时,有一个双屏显示的需求(两个屏幕,在特定情况下,第二个屏幕显示不同内容)。百度一番,发现了Presentation关键词是实现双屏异显功能的重点。总结:Presentation父类是 dialog,所以和dialog具有相似的属性和方法。Presentation的容器是屏幕,创建时即需指定。屏幕移除,则Presentation自动取消。Presentation 的上...原创 2020-01-20 10:28:33 · 2848 阅读 · 0 评论 -
EditText输入字母自动大写
直接上代码:editText.setTransformationMethod(new TransInformation());/** * 小写字母自动转化为大写 */public class TransInformation extends ReplacementTransformationMethod { /** * 原本输入的小写字母 */ @Override p...原创 2019-10-24 15:12:37 · 404 阅读 · 0 评论 -
Could not find class 'com.umeng.analytics.d' 解决的方案分享
从Eclipse升级到AS后,众多朋友遇到了统计分析的 com.umeng.analytics.d 坑爹问题,弄了很久,友盟给出的是确认了这边是因为项目中用了 Java 和 kotlin 的混合编译导致,删掉kotlin相关的就正常了。什么是kotlin?他是什么鬼?-----> https://kotlinlang.org/docs/tutorials/kotlin-an转载 2016-10-26 11:20:43 · 744 阅读 · 0 评论 -
Activity和Fragment中点击EditText之外的空白区域使软键盘消失
使软键盘消失的方法如下:public static void hintKeyboard(Activity activity) { InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive() &&am...原创 2019-06-03 17:17:27 · 1410 阅读 · 0 评论 -
Android判断当前耳机的连接状态(蓝牙、有线),修改音频的输出方式
一,蓝牙设备的连接,在广播注册之前连接:1. 判断耳机的连接状态,我们比较常用的是广播的方式,但是在安卓8.0以后,如果耳机在注册广播之前连接,那么在注册广播,无法监听到耳机的状态,于是我们只能换一种方式去处理,代码如下:AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO......原创 2019-07-03 11:34:13 · 13740 阅读 · 10 评论 -
Android快速判断屏幕锁屏的方法
一、常用的屏幕判断屏幕锁定方式是广播,但是大家都知道广播的效率很低,于是不得不寻求新的方式:1. 通过PowerManager的isScreenOn方法,代码如下:PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);boolean isScreenOn = pm.isScree...原创 2019-07-03 11:44:43 · 3667 阅读 · 0 评论 -
Android下载文件,如果文件夹下有同名文件,则重命名规则为a(2)、a(3)的实现
具体实现如下:private String fileReleaseName;//文件最终名字private String SD_FOLDER;//文件夹路径/***传入文件默认名**/private void setFileReleaseNames(String mFileName) { File f = new File(SD_FOLDER); if (f.exists(...原创 2019-07-04 16:48:55 · 2027 阅读 · 0 评论 -
Android文件夹的下载,从数据源中找到所有的子文件的实现
数据结构如下:[{ "fileId": 436, "fileName": "新建文件夹", "fileSize": 0, "fileUrl": "", "fileCreateTime": 1562058941010, "fileMd5": "", "pid": 0, "is_file": 1}, { "fileId": 623909, "fileName": "hhhh...原创 2019-07-04 17:08:09 · 643 阅读 · 0 评论 -
安卓缓存管理工具类
package tv.buka.roomSdk.util;import android.content.Context;import android.os.Environment;import android.text.format.Formatter;import java.io.File;import tv.buka.roomSdk.util.uploadAndDownloa...原创 2019-07-05 11:04:14 · 297 阅读 · 0 评论 -
Android通知权限相关工具类
package tv.buka.android.util;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Build;import android.provider.Settings;import android.support...原创 2019-07-05 11:17:10 · 1504 阅读 · 1 评论 -
Android透明度百分比对应的十六进制
Android 透明度百分比对应的 十六进制:透明度百分比对应的十六进制:(说明:百分比计算出来会有小数,按照常规的四舍五入处理,详情请往下查看) 百分比:0% HEX: 00 百分比:1% HEX: 30 百分比:2% HEX: 50 百分比:3% HEX: 80 百分比:4% HEX: A0 百分比:5% HEX: D0 ...原创 2019-07-19 14:53:25 · 345 阅读 · 0 评论 -
android首次加载X5 webview,会产生卡顿现象的解决办法
在application初始化:QbSdk.initX5Environment启动APP后,首次webView.loadUrl,出现严重的卡顿现象;X5 SDK的v3.6版本后添加了一个多进程的service设置开启优化方案,具体实现如下:第一种 多进程方案: 设置开启优化方案// 在调用TBS初始化、创建WebView之前进行如下配置,以开启优化方案HashMap m...原创 2019-05-30 15:46:25 · 3448 阅读 · 0 评论 -
防百度云APP下载列表圆形进度条
效果图:自定义view如下:package tv.buka.android.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android...原创 2019-05-27 11:53:27 · 323 阅读 · 2 评论 -
Android 在线预览ppt、doc、xls、txt等文件
说明:使用TBS(腾讯浏览服务)打开,目前不支持在线预览,只能先下载下来,在打开下载SDK第一步:加载jar、sotbs_sdk_thirdapp_v4.3.0.1072_43646_sharewithdownloadwithfile_withoutGame_obfs_20190429_175122.jar第二步:权限处理1. 清单文件配置<uses-p...原创 2019-05-27 11:38:37 · 6237 阅读 · 7 评论 -
android 4.0 BLE开发官方文档介绍
安卓4.3(API 18)为BLE的核心功能提供平台支持和API,App可以利用它来发现设备、查询服务和读写特性。相比传统的蓝牙,BLE更显著的特点是低功耗。这一优点使Android App可以与具有低功耗要求的BLE设备通信,如近距离传感器、心脏速率监视器、健身设备等。关键术语和概念Generic Attribute Profile(GATT)—GATT配置文件是一个通用规范转载 2017-07-21 17:30:58 · 372 阅读 · 0 评论 -
代码重构的方法
一、为什么要代码重构(Refactoring)在不改变系统功能的情况下,改变系统的实现方式。为什么要这么做?投入精力不用来满足客户关心的需求,而是仅仅改变了软件的实现方式,这是否是在浪费客户的投资呢?代码重构的重要性要从软件的生命周期说起。软件不同与普通的产品,他是一种智力产品,没有具体的物理形态。一个软件不可能发生物理损耗,界面上的按钮永远不会因为按动次数太多而发生接触不良。那么原创 2017-07-21 17:18:46 · 1682 阅读 · 0 评论 -
安卓WebView与JavaScript交互
一、JS调用Android并传参Android代码public class MainActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s原创 2017-07-21 16:21:56 · 585 阅读 · 0 评论 -
安卓WebView中全屏播放网页视频
Android中WebView是支持播放网页视频的,需打开WebView的脚本支持:原创 2016-12-28 11:30:56 · 1147 阅读 · 0 评论 -
安卓下httppost多个文件的上传及参数
需要注意的是:安卓下需要引入httpmime.jarHttpPost httppost = new HttpPost(url);MultipartEntity reqEntity = new MultipartEntity();//此处为文件上传if (files != null && files.size() > 0) { for (Map.Entry en : fil原创 2016-12-27 20:35:20 · 2162 阅读 · 0 评论 -
解决安卓webview不支持input type=file问题
前端页面中一句话,type="file" accept="image/*;capture=camera">,IOS手机中,可以直接呼起相机和相册;安卓手机则不行,部分浏览器没问题;为解决问题,直接上代码;亲测,华为、小米、三星、360、魅族都可以正常调用摄像头及相册webview.setWebChromeClient(new WebChromeClient()原创 2016-07-20 13:39:32 · 30850 阅读 · 13 评论 -
解决android 5.0 webview不能加载http与https混合内容的问题
在Android5.0上webview默认不允许加载http与https混合内容:比如你访问的网页为http://xxx.com/a.html,则如果a.html包含了https的资源,则此资源不会显示。如果仔细观察log,可以看到如下的内容提示:。。。。。。was loaded over HTTPS, but requested an insecure image。。。。...原创 2016-06-20 14:56:49 · 9227 阅读 · 0 评论 -
安卓非微信内置浏览器中的网页调起微信支付的方案研究
问题来源之前在app中集成过微信支付,此种微信支付方式为app支付,即在我们自己的应用中嵌入微信支付SDK,由Native代码调起微信支付。后来由于业务需要在我们app的WebView中打开第三方店铺的网页,在第三方网页中有微信支付按钮,测试反馈说ios可以调起微信支付,而android不可以。后来网上看到说微信内置Webview和京东的网页也可以调起微信支付,微信自己没什么奇怪的转载 2016-07-13 13:39:28 · 20359 阅读 · 2 评论 -
android、ios、php之间AES加密解密
使用原因:因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES。PHP 源码<?php$aes = new aes;echo $aes->aes128cbcEncrypt("11122222");echo "\n";echo $aes->aes128cbcEncryp...转载 2015-09-08 16:28:13 · 12615 阅读 · 12 评论 -
通过uri呼起本地app
1、在Android本地app清单文件中配置 <activity android:name="com.mdj.ui.WelcomeActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleB原创 2015-07-30 17:04:25 · 1721 阅读 · 0 评论 -
Android 服务器消息推送技术
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就转载 2015-01-12 13:28:38 · 1573 阅读 · 0 评论 -
Android全局配置引用ttf字体包
说明:一般设置ttf字体包,都是自定义FontTextView extends TextView,设置自定义字体(太繁琐,需要在布局一个个去替换); 通过反射机制修改系统默认的字体,一次性修改APP字体;下面主要介绍第二种方式:1. 在Application下的主题添加默认的TypeFace属性<style name="AppTheme" parent="Theme.A...原创 2018-09-17 11:51:59 · 7684 阅读 · 0 评论 -
解决安卓6.0部分手机动态申请权限无效、和6.0以下没有权限申请的问题
场景一:描述:部分安卓手机,尽管系统是6.0,但是动态申请了权限,还是没有权限弹窗;分析:尽管手机是6.0系统,但是还是用的之前的机制。只有在真正使用到权限并执行相关代码时,才弹出权限提示框; 场景二:描述:安卓6.0权限申请,点击了《不允许后不再询问》,下次再检查,不会走回调; 场景三:描述:安卓6.0以下,没有权限申请,只有用到的时候,才会弹出;一旦用户拒绝了权...原创 2019-01-18 16:33:20 · 1945 阅读 · 0 评论