android
文章平均质量分 55
秋天不落叶-
移动端开发
展开
-
Android 开发板接入外接USB键盘App重启问题
Android 开发板接入外接USB键盘App重启问题原创 2022-11-29 19:29:09 · 1817 阅读 · 1 评论 -
android 获取微信二维码 DiffDevOAuth.auth
DiffDevOAuth.auth 执行后无法生成二维码根据开发文档提示集成扫码登录功能,DiffDevOAuth.auth 执行后无法生成二维码,但无法知道是哪些原因导致的,需要技术解答,提示相关日志如下:D/MicroMsg.SDK.GetQRCodeTask: doInBackground, url =https://open.weixin.qq.com/connect/sdk/qrconnect?appid=wx2b53884cee37612d&noncestr=1558517193.原创 2022-03-24 15:56:36 · 3490 阅读 · 0 评论 -
Android json中Unicode转码问题
今天在解析json数据的时候得到了一堆这样的数据:{"errNum":0,"errMsg":"success","retData":[{"title":"\u6536\u5e9f\u54c1\u5927\u53d4\u521a\u4e0a\u53f0\uff0c\u5c31\u60e8\u906d\u8bc4\u59d4\u706d\u706f\uff0c\u4f46\u63a5\u4e0b\u6765\u5168\u573a\u90fd\u9707\u60ca\u4e86\uff01","url":"ht原创 2021-10-19 14:55:17 · 983 阅读 · 0 评论 -
Android 获取蓝牙连接设备信息与状态
前言最近做的app要用到蓝牙功能,下面说说安卓app如何获取设备蓝牙信息和连接状态。代码实现AndroidManifest.xmlAndroidManifest.xml需要加入如下权限:<uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /><us原创 2021-08-24 15:58:05 · 5231 阅读 · 0 评论 -
Android 修改系统亮度与设置系统音量
一.申请权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_SETTINGS"/>聪明的你会发现这里有两个用户权限。一个是sdk写入权限,一个是修改系统设置权限这是一个特殊的权限。在android 6.0及以后,WRITE_SETTINGS权限的保...原创 2021-08-20 17:16:22 · 761 阅读 · 0 评论 -
Android 加载GIF图最佳实践方案
引用:compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.7'直接把布局文件中的 ImageView 替换为 GifImageView<pl.droidsonroids.gif.GifImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@mipmap/yiba_location原创 2021-08-10 17:55:11 · 445 阅读 · 0 评论 -
Android 使用pl.droidsonroids.gif.GifImageView在安卓中显示动图遇到的问题
在做一款聊天软件,其中聊天界面需要发送表情,而表情都是动图,在安卓中想要显示动图,就要借助第三方框架,我选的是pl.droidsonroids.gif.GifImageView。使用方法如下:你在github上下载了android-gif-drawable.aar后,解压后,将jni文件下的所有文件夹以及classes.jar拷贝到你安卓项目的libs文件下,然后将你项目代码中的imageview换成第三方的,效果如下:java类中代码:GifImageView gifImageVie.原创 2021-08-10 17:16:28 · 1503 阅读 · 0 评论 -
UIAutomator:UiScrollable的用法
1:快速滚动(Boolean)flingBackward(); 以步长为5快速向后滑动flingForward();flingToBeginning(int maxSwipes);自定义扫动次数以步长为5快速滑动到开启flingToEnd(int maxSwipes);UiScrollable listScrollable = new UiScrollable(new UiSelector().scrollable(true));listScrollable.flingToEnd原创 2021-08-04 16:12:55 · 771 阅读 · 0 评论 -
MCC(移动国家码)和 MNC(移动网络码)
国际移动用户识别码(IMSI) international mobile subscriber identity 国际上为唯一识别一个移动用户所分配的号码。 从技术上讲,IMSI可以彻底解决国际漫游问题。但是由于北美目前仍有大量的AMPS系统使用MIN号码,且北美的MDN和MIN采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以MIN为主。其中以O和1打头的MIN资源称为IRM(International Roaming MIN),由IFAST (International Foru...原创 2021-07-20 17:39:56 · 10381 阅读 · 0 评论 -
Android开发——背景两种颜色渐变效果
前言在Android开发当中,我们肯定会接到有业务需求是:让APP的某一些背景颜色产生渐变效果。那我们应该怎么去实现呢?接下就是我要为大家介绍的了。效果图这是需求要达到的效果。接下来说一下是怎么实现的吧!实现步骤第一步:在res/drawable中创建一个名称bg_grdient.xml(名称看个人)<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android原创 2021-06-29 10:07:03 · 1125 阅读 · 0 评论 -
Android选择文件并上传
打开文件选择器// 打开系统的文件选择器public void pickFile(View view) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); this.startActivityForResult(intent, REQUEST_CODE);}获取文件原创 2020-09-11 17:44:04 · 4264 阅读 · 0 评论 -
GreenDao存集合类型数据、List<String> 、List<Integer>
此文章是基于已经成功导入GreenDao了,但是GreenDao存集合类型的数据需要多几步的操作,至于怎么导入,这个自己上网查了,这篇就不赘述了(或者以后可能会补上,等我忘了怎么用把。。。)第一步,导入Gson第三方。第二步,新建类InterConverter , StringConverter 类,代码如下\public class InterConverter implements PropertyConverter<List<Integer>, String..原创 2020-08-31 16:21:17 · 1125 阅读 · 0 评论 -
Android利用NotificationListenerService监听获取通知栏使用权,统计微信加好友功能
为了实时获取通知栏状态的消息状态和内容进行获取,能够判断当前消息移除或者推送 A service that receives calls from the system when new notifications are posted or removed, or their ranking changed. To extend this class, you mu...原创 2020-04-23 11:16:02 · 1974 阅读 · 0 评论 -
阿里内部偷师Android规范文档
前言一份合格的代码不应只满足于实现功能, 更应该遵循良好的规范. 遵循良好的代码规范有利于:提升程序稳定性, 减少代码隐患, 降低故障率; 增强可扩展性, 大幅提高维护效率; 统一标准, 提升多人协作效率; 方便新人快速上手, 在项目组人员发生变动时保证项目进度;这里梳理一下Android开发过程中需要注意的一些地方, 包括多个部分, 另外根据约束力强弱分为两类:强制: 如果不...原创 2020-04-09 18:37:59 · 132 阅读 · 0 评论 -
AndroidStudio修改项目名称
需求项目名称修改了,想修改AndroidStudio 中 project的名字右键project 的名字,refactor - rename ,填写好新名字后修改,被提示 “can’t rename root module”因为Android Studio只能修改根目录内的所有文件,要改project根目录名字,只能关闭Android Studio 先在操作系统中修改文件夹名字。 ...原创 2020-04-08 11:53:30 · 213 阅读 · 3 评论 -
Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
最近有个需求一次要打包9个类型的App,而且常量和String.xml都有变量。虽然之前也是一直存在变量,但是每次也仅仅只打包一个。这让我每次改变量,打包9个。要是以后每次都打包9次,我得疯了。根据之前的了解,gradle 应该是可以解决这个问题的。所以就仔细研究了一番。先放一个完整的 多渠道/多环境 打包的配置,然后再来讲解。实现了:不同环境,不同包名; 不同环境,修改不同的 ...原创 2020-04-07 10:18:59 · 359 阅读 · 0 评论 -
【Android网络通话】关于语音通话LinPhone笔记_android (1)
文档直连1、linehone官网 : http://www.linphone.org/technical-corner/liblinphone2、官网-android文档: https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Getting%20started/Android/3、官网-android案例: https://github...原创 2020-04-01 17:11:19 · 793 阅读 · 0 评论 -
android 微信支付:统一下单接口获取
1、什么是[统一下单接口]?首先我们要明白这个问题,需要先行看一下微信的官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_12.开发 //微信支付,生成统一订单 private void wxPay(String order_id) { String appid = WeCha...原创 2020-01-10 17:18:28 · 2503 阅读 · 1 评论 -
Android--手机root获取与判断应用是否获取
import android.util.Log; import java.io.DataOutputStream;import java.io.File; /** * 判断手机是否ROOT */ public class isRoot{ public static int root() { int root = 0; ...转载 2019-12-18 18:01:12 · 170 阅读 · 0 评论 -
adb 操控系统命令开关:WIFI,GPS,飞行模式,数据网络,蓝牙,恢复出厂设置,重启手机,设置未知来源,恢复出厂设置
//重启手机public static final String REBOOT = "reboot";//开启WiFipublic static final String WIFI_ON = "svc wifi enable"; //关闭WiFipublic static final String WIFI_OFF = "svc wifi disable";//查看WIFI状态...原创 2019-11-15 16:50:15 · 3506 阅读 · 0 评论 -
android 命令与代码进行安装应用
1.安装应用//下载应用到自己的手机上,本例将安装包放在asset上,直接读取写入手机的存储卡路径中清单文件声明权限//android8.0需要install_packages权限,清单文件注册即可,无需动态申请权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"><...原创 2019-11-07 19:40:59 · 639 阅读 · 0 评论 -
Android辅助权限判断,与开启功能介绍
本文旨在介绍AccessibilityService如果更优雅的使用,以及使用过程遇到的问题,该怎么解决。1.介绍辅助功能服务在后台运行,并在触发AccessibilityEvent时由系统接收回调。这样的事件表示用户界面中的一些状态转换,例如,焦点已经改变,按钮被点击等等。现在常用于自动化业务中,例如:微信自动抢红包插件,微商自动加附近好友,自动评论朋友,点赞朋友圈,甚至运用在群控系统,进...原创 2019-11-05 17:08:19 · 3683 阅读 · 1 评论 -
Android通过代码模拟物理、屏幕点击事件,adb 执行各种命令点击事件;
本文讲的是通过使用代码,可以控制手机的屏幕和物理按键,也就是说不只是在某一个APP里去操作,而是整个手机系统。getevent/sendeventgetevent&sendevent 是android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。getevent用于获取当前系统inp...原创 2019-11-04 11:42:29 · 1390 阅读 · 0 评论 -
Android 8.0 启动后台service 出错 IllegalStateException: Not allowed to start service Intent
出错信息E AndroidRuntime: FATAL EXCEPTION: mainE AndroidRuntime: Process: com.cjl.servicetest, PID: 4455E AndroidRuntime: java.lang.RuntimeException: Unable to create application com.cjl.servicetest....转载 2018-03-27 17:11:46 · 6539 阅读 · 0 评论 -
Android 8.0后台执行限制
Android O对应用在后台运行时可以执行的操作施加了限制,称为后台执行限制(Background Execution Limits),这可以大大减少应用的内存使用和耗电量,提高用户体验。后台执行限制分为两个部分:后台服务限制(Background Service Limitations)、广播限制(BroadcastLimitations)。后台服务限制如何才算是后台应用?除了下面情况外都是后...转载 2018-03-27 16:57:29 · 1631 阅读 · 0 评论 -
Ant如何打包UIAutomator项目用到的第三方JAR包
本文章主要描述UIAutomator项目中引用到第三方Jar包的时候,按照正常的打包方式碰到的各种问题,以及最终解决的思路和办法。1. 问题起源在本人的一个示例项目中引用到了单元测试框架hamcrest的jar包,在项目目录下执行ant build的时候出现以下的问题源码如下:[java] view plain copypac转载 2016-05-10 14:43:43 · 1337 阅读 · 0 评论 -
Android Recyclerview判断是否已经到底部或者顶部
在实际处理业务的时候经常会需要判断列表是否到底部或者顶部,现在基本都是用RecyclerView来做列表,这里SDK提供了一个方法非常简单就可以解决,// 垂直方向的判断 /*** Check if this view can be scrolled vertically in a certain direction.** @param direction N...转载 2018-08-17 18:24:15 · 1695 阅读 · 0 评论 -
Android 获取扫码枪的扫描和固定扫描器内容
思路:重写Activity的dispatchKeyEvent()方法 将获取到的内容自定义处理 然后再回调得到扫描内容;缺点:识别不了中文;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.KeyEvent;import android...原创 2019-04-02 14:03:54 · 869 阅读 · 1 评论 -
Android后台保活实践总结:即时通讯应用无法根治的“顽疾”,手机root权限下,应用清理掉,服务不死
前言Android进程和Service的保活,是困扰Android开发人员的一大顽疾。因涉及到省电和内存管理策略,各厂商基于自家的理解,在自已ROOM发布于都对标准Android发行版作为或多或少的改动,使得应用层程序在处理进程和Service保活问题上变的异常复杂,且很难兼容,因为说不定哪款手机或者哪个版本的省电策略发生改变,那么随之而来的就是进程和Service保活的差异。在应用场景上,...原创 2019-09-11 19:12:00 · 1199 阅读 · 0 评论 -
AccessibilityNodeInfo自动输入
在AccessibilityNoteInfo中实现自动输入时,有两种不同的方法:1.在Android版本>21时可以使用两种,第一种是AccessibilityService自带的方法:[java] view plain copy Bundlearguments=newBundle();arguments.putCharSequence(Access原创 2016-12-15 11:36:47 · 8232 阅读 · 2 评论 -
Android7.1.1之去掉workspace顶部的快速搜索条Qsb
Android7.1.1里的Qsb是Quick search bar的缩写,位于workspace第一屏的顶部,主要是打开google浏览器搜索,但是现在国内的android手机不支持使用google浏览器或者对当下许多消费者来说这个控件是没什么大用的,而且主要是当前项目的需求要的是直接显示应用列表,去掉主界面,所以去掉这个Qsb势在必行。Layout Inspector我们如何找到需要修改的位置...转载 2018-03-15 17:21:43 · 563 阅读 · 0 评论 -
android studio 3.0 升级问题,遇到的坑;
项目迁移到Android studio 3.0.0问题,官方提供资料链接:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html1、Error:(33, 0) Cannot set the value of read-only property 'outputFile' for ApkV原创 2017-12-06 13:02:52 · 2262 阅读 · 0 评论 -
Android studio 出现 Unsupported major.minor version 52.0
最近更新了Android studio 之后,出现了Error:Java.lang.UnsupportedClassVersionError:com/android/dx/command/Main : Unsupported major.minor version 52.0 异常,这是因为 compileSdKVersion 和 buildToosVersion 版本对不上导致的,例如转载 2016-09-06 17:31:27 · 340 阅读 · 0 评论 -
adb 命令模拟按键事件
例子://这条命令相当于按了设备的Backkey键adb shell input keyevent 4 //可以解锁屏幕adb shell input keyevent 82 //在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)adb shell input swipe 50 250 250 250 500转载 2016-09-02 15:38:28 · 4934 阅读 · 0 评论 -
Android 常用 adb 命令总结
Android 常用 adb 命令总结首发个人博客 http://blog.csdn.net/gb112211/article/details/45873727#t1 , 转载请注明出处。针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。原创 2016-09-01 14:26:17 · 1330 阅读 · 0 评论 -
android 手机应用设备管理激活状态,获取激活状态,监听激活状态
注册一个Receiverreceiver android:name="LockReceiver" android:description="@string/app_name" android:label="@string/app_name" android:permission="android.permission.BIND_DEVICE_原创 2016-08-10 11:04:27 · 3503 阅读 · 0 评论 -
Android开发人员不得不收集的代码(不断更新)
为方便查找,已进行大致归类,其大纲如下所示:尺寸相关dp与px转换sp与px转换各种单位转换在onCreate()即可获取View的宽高ListView中提前测量View尺寸手机相关判断设备是否是手机获取当前设备的IMIE,需与上面的isPhone一起使用获取手机状态信息是否有SD卡获取MAC地址获取手机厂商,如Xiaomi获取手机型号,如MI2SC跳转至拨号界原创 2016-08-01 12:34:56 · 1467 阅读 · 3 评论 -
Android自动化测试(UiAutomator)简要介绍[java] view plaincopy package com; import com.android.uiautomator.co
分类: UIAutomator(16) 目录(?)[+]引用处:http://blog.csdn.net/g19920917/article/details/16131565互相学习android自动化测试,请关注我的微博:weibo.com/ganchaojiang 一、一个BUG引发的问题 如果研发过程中有一个B转载 2016-05-10 15:08:50 · 1368 阅读 · 0 评论 -
adb 常用命令和获取系统root权限
android 常用adb 和 adb shell 命令ADB常用命令:1. 查看设备adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示2. 安装软件 adb install 这个命令将指定的apk文件安装到设备上参数“-r”,它是更新安装的意原创 2021-10-13 11:48:43 · 28510 阅读 · 3 评论 -
android如何屏蔽掉home键
在2.3版本以下重写下面方法就能重写home键public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow();}在4.0以上的版本中需要利用以下方法屏蔽和重写Hom原创 2015-06-10 22:55:50 · 576 阅读 · 0 评论