Android开发
主要记录工作中涉及到的一些需求开发
peak wang
一名普通的搬运工.
展开
-
Android使用PackageInstaller安装应用
【代码】Android使用PackageInstaller安装应用。原创 2024-11-01 17:24:12 · 74 阅读 · 0 评论 -
解决AIDL客户端向服务端注册回调,服务端收到的回调为空的问题
解决AIDL客户端 向服务端注册回调,服务端收到的回调为空的问题原创 2023-09-09 17:45:49 · 516 阅读 · 0 评论 -
Android常用代码集合
【代码】Android常用代码集合。原创 2023-04-12 17:21:53 · 753 阅读 · 1 评论 -
[SwitchPreference]代码中动态修改SwitchPreference的Thumb或Track颜色
代码中动态修改SwitchPreference的Thumb或Track颜色原创 2022-12-15 20:56:27 · 546 阅读 · 0 评论 -
Android系统关机或重启的几种实现方式
默认的SDK并没有提供应用开发者直接的Android系统关机或重启的API接口,一般来讲,实现Android系统的关机或重启,需要较高的权限(系统权限甚至Root权限)。所以,在一般的APP中,如果想要实现关机或重启功能,要么是在App中声明系统权限,要么是通过某种“间接”的方式,比如广播或反射,来间接实现系统关机或重启。再者,就是放在源码环境中进行编译,这样做有一个好处,就是可以直接调用Android中不公开的API,这是Eclipse+SDK没法达到的效果。下面是我自己尝试的几种方式: 一. ..转载 2022-02-12 17:06:01 · 12620 阅读 · 0 评论 -
Android 蓝牙键值适配(最通俗易通的一篇文章)
目录1.获取按键的扫描码 1. getevent显示结果中的三个有效信息:2.hid-input.c3.KeyLayoutFile --> .kl kl文件格式简单解析(详解与其它使用方法自行搜索):总结: 以下图中TV VOD两个按键为例,文章中所涉及到的文件只写文件名,因每个方案的路径各不相同,请自行全局搜索文件。1.获取按键的扫描码 android设备串口或adb shell下执行 getevent -l...原创 2021-12-01 12:55:51 · 6272 阅读 · 0 评论 -
Android xml布局include中android:layout_below属性无法使用
经查阅资料,解决方案是重载android:layout_height,与android:layout_width<include layout="@layout/layout"> android:layout_height="match_parent" android:layout_width="match_parent" android:layout_below="@id/title_bar" />...转载 2021-11-02 11:24:42 · 438 阅读 · 0 评论 -
Android-java Log封装,目前感觉最适合自己的LogUtils
封装的这个Log可以直接在日志中显示调用侧的类名,方法名,行号,方便定位问题。 这是好久前写的了,StackTrace数组中各元素的的含义忘了,也没必要翻书或重跑程序的必要,只记得返回下标为2的元素时指向的是调用侧,下标为1时指向的是Logg.StackTraceElement ste = new Throwable().getStackTrace()[2];日志如下:代码:package com.android.music.utils;impo...原创 2021-09-06 10:02:17 · 432 阅读 · 0 评论 -
Android 反射调用SystemProperties
import java.lang.reflect.Method;public class SystemProperties{ public static String get(String key) { String ret = null; try { Class<?> clazz = Class.forName("android.os.SystemProperties"); Method mthd = clazz.getMethod("get", ne...原创 2021-09-06 09:23:15 · 1119 阅读 · 0 评论 -
Android允许应用具有安装权限
本文只针对调用PackageInstaller安装流程,ROM中有时需要集成一些第三方的应用商城或着launcher,但需要此应用可能具有安装权限。功能很简单直接贴代码; PackageInstallerActivity中有个checkIfAllowedAndInitiateInstall()函数来判断是否允许安装,允许的话会调用initiateInstall()弹出安装应用的界面,禁止安装未知来源的应用时会弹出禁止安装未知来源的dialog; PackageInstall...原创 2021-06-12 10:08:34 · 3075 阅读 · 3 评论 -
android找不到 ll (ls -l)等命令或映射其它命令的解决方法
只需要把相应的 ll 定义加到 mkshrc中即可.mkshrc路径:external/mksh/mkshrc,然后保存退出 ,在根目录source ./build/envsetup.sh,lunch xxxx 进入到external/mksh后mm编译该模块,编译完后在out\target\product\xxx\system\etc\下面就有新的mkshrc了,替换掉设备/system/etc/目录下原有的问题重启后就生效了;# Copyright (c) 2010, 2012, 20...原创 2020-12-27 14:15:15 · 719 阅读 · 0 评论 -
Android adb/串口命令设置和获取系统音量
原文地址:https://blog.csdn.net/sunxiaolin2016/article/details/1088437161、查看audio的全部信息(各音频流音量,焦点,策略等) dumpsys audio12、设置音量并且显示音量UI //stream 3表示多媒体,10表示音量值 media volume --show --stream 3 --set 101 23、音量调大调小 media volume --stream 3 --adj r.转载 2020-12-24 15:37:14 · 1847 阅读 · 0 评论 -
[Android] android通过wifi真机调试
今天在家里写demo的时候USB线插在电脑上调试越看越碍眼,然后从网上搜到了total Control这个用电脑控制手机的软件,usb与wifi两种连接方式用着不错,还能实时捕获屏幕(out怪我喽,ps:其实可以直接在局域网通过adb连接手机,为什么我要多此一举呢,1.手机用出模拟器的感觉 嘿嘿2.手机只要在wifi覆盖的地方我根本不用找手机这样比较方便),但是遇到了一个问题:用原创 2016-06-26 23:37:18 · 1341 阅读 · 0 评论 -
Android wifi开发总结
在Android中对Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面,主要包括以下几个类和接口:1.导图2.权限 在AndroidManifest.xml进行对WIFI操作的权限设置(wifi需要打开定位,所以要加上定位权限,非系统应用还需要在打开wifi前请求定位权限,否则搜索不到wifi,返回的ScanResult为空)<!--以下是使用wifi访问网络所需的权限--><uses-per...原创 2021-04-20 23:46:08 · 2833 阅读 · 0 评论 -
Android中Cursor类的概念和用法
原文:http://www.2cto.com/kf/201109/103163.html使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader。今天特地将它单独拿出来谈,加深自己和大家对Android 中使用 Cursor 的理解。关于 Cursor转载 2015-06-17 22:44:15 · 627 阅读 · 0 评论 -
Android横竖屏切换的几种方式
最近在搞一个嵌入式的阉割版的Android横屏切换竖屏的问题,因为阉割严重所以在PhoneWindowManager里做处理的方案不适用,网上查资料查到了个系统属性ro.sf.hwrotation,初始值为0,只要设置为90就可以了。下面转载了一位小哥收集的文章,横屏切换竖屏的几种方案都有,原文地址:https://www.cnblogs.com/liulaolaiu/p/11744540.htmlandroid如何改变系统默认横竖屏方向http://blog.csdn.ne...原创 2020-08-15 00:32:04 · 2053 阅读 · 0 评论 -
通过android logcat日志打印根据指令地址定位问题代码的位置
下面由工作中的一个例子来捋一下 下图为logcat日志中的打印信息,因此处为bootanimation的打印,所以首先要进入到源码的symbols的该目录下。在android源码根目录下cd到out/target/product/p201_iptv/symbols/system/bin目录, 接下来使用addr2line工具(了解详情)来将日志中的指令地址转换为相应的代码类与...原创 2020-01-08 17:36:55 · 1335 阅读 · 0 评论 -
FragmentTransaction的commit和commitAllowingStateLoss的区别
使用Fragment时,可以通过用户交互来执行一些动作,比如增加、移除、替换等。所有这些改变构成一个集合,这个集合被叫做一个transaction。可以调用FragmentTransaction中的方法来处理这个transaction,并且可以将transaction存进由activity管理的back stack中,这样用户就可以进行fragment变化的回退操作。转载 2016-11-01 10:28:38 · 1013 阅读 · 0 评论 -
遇到的问题:framework中定制四色键,但按键时无反应,报Calling startActivity() from outside of an Activity context requires
查看log: 01-16 14:51:14.595 W/System.err( 3938): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this原创 2018-01-17 14:53:38 · 391 阅读 · 0 评论 -
Android开机动画之开机bootvideo与bootanimation.zip的选择
基于不同的芯片SDK,处理方式也不同,有默认开机加载/system/media/bootanimation.zip的,也有加载/xxx/bootvideo的,不管默认加载哪一个,选择性都是可控的。在/system/build.prop中有一个属性service.bootvideo=0/1, 为0的话默认加载bootanimation.zip,为1的话加载bootvideo.#add fo...原创 2019-03-04 16:59:02 · 4520 阅读 · 0 评论 -
最全的Android源码目录结构详解
android平台四层架构对应源代码中的目录:第一层:应用程序层(applications)对应根目录下packages/apps第二层:应用程序框架层(application framework)对应根目录下的frameworks第三层:运行库层包括运行库(libraries)和android运行时环境(android runtime)android运行时环境:...转载 2019-03-22 15:25:38 · 364 阅读 · 0 评论 -
[Android]Android Fragment 真正的完全解析(下)
1、管理Fragment回退栈类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化。如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment。一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity。转载 2016-09-19 23:46:36 · 413 阅读 · 0 评论 -
[Android]Android Studio gradle配置-20160410
原文地址:http://my.oschina.net/u/1471093/blog/341990Android studio gradle maven 配置 打包目录[-]Gradle 基本概念本地依赖远程依赖android library 依赖Gradle 基本概念首先我们学习几个gradle 的脚本语法,掌握了这几个语法,转载 2016-04-10 22:57:46 · 494 阅读 · 0 评论 -
[Android]Gson的使用
Gson拓展包可以很方便的实现在对象与Json之间的转换。他自己也有JsonObject这个类,类似于Android包里的JSONObject。在java(非Android项目)里就可以用他来操作json。转载 2016-10-08 09:52:11 · 445 阅读 · 0 评论 -
几行代码帮你搞定屏幕适配
<TextView android:id="@+id/person_tel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginB转载 2016-10-25 21:34:43 · 834 阅读 · 0 评论 -
[Android]RecyclerView的使用与深入分析
原文地址:http://blog.csdn.net/evan_man/article/details/51570466基础介绍动态布局 RecyclerView的官方资料介绍是:A flexible view for providing a limited window into a large data set,大体意思就是RecyclerView是转载 2016-06-05 17:18:29 · 3375 阅读 · 0 评论 -
[Android]Android图片压缩(质量压缩和尺寸压缩)
原文地址:http://blog.csdn.net/jdsjlzx/article/details/44228935在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成缩略图。两种方法都实装在转载 2016-05-28 00:52:46 · 542 阅读 · 0 评论 -
[Android]Android通用流行框架大全20160528
在这里也要感谢一叶飘舟,在看他博客的时候发现的,感谢!1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader转载 2016-05-28 00:47:58 · 433 阅读 · 0 评论 -
[Android]Android开源工具项目集合20160523
最流行的Android组件大全 http://www.open-open.com/lib/view/open1409108030307.htmlAndroid开源项目分类汇总 http://www.open-open.com/lib/view/open1406272852585.htmlAndroid开发免费类库和工具集合 http://www.open-open.co转载 2016-05-23 23:47:32 · 1312 阅读 · 0 评论 -
[Android]获得屏幕分辨率的两种方法20160505
1. WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight =di原创 2016-05-05 21:58:36 · 338 阅读 · 0 评论 -
[Android]android shape与selector的使用20160516
一直感觉记忆力不太好,写个博客自己有空就梳理一下 <!-- 实心 --> "/> android:startcolor="#63a219" android:endcolor="#63a219"原创 2016-05-16 00:58:03 · 358 阅读 · 0 评论 -
[Android]WebView使用详解(一)——Native与JS相互调用(附JadX反编译)20160522
感谢启舰大大,原文地址:http://blog.csdn.net/harvic880925/article/details/51464687一、基本用法1、加载在线URL[java] view plain copy void loadUrl(String url) 这个函数主要加载url所对应转载 2016-05-22 01:56:04 · 1275 阅读 · 1 评论 -
[Android] BottomBar+ViewPager+Fragment实现炫酷的底部导航效果20160523
感谢范润奇,原文地址:http://blog.csdn.net/amazing7/article/details/51476355BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退。于是就用这种方式实现了,效果转载 2016-05-23 23:11:18 · 1399 阅读 · 0 评论 -
Android中Adapter之SimpleCursorAdapter使用
此Adapter(SimpleCursorAdapter)是Android专门为了连接数据库与视图而产生的.此例中借助ListView体现SimpleCursorAdapter的用法。因为,ListView在android中是比较常用的视图组件,不论是静态还是动态都可以在其上显示。当然,在实际的android项目中需要显示的数据一般都是动态从数据库表中获取的。而SimpleCursorAdapte转载 2015-06-17 23:01:04 · 688 阅读 · 0 评论 -
[Android]Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
原文:http://blog.csdn.net/shulianghan/article/details/38023959 最近 Google 被墙了, 上传一下自己收集的 Android 开发环境, 下面给出的官网链接也可以下载; 1. 百度网盘下载地址 Android集成环境 NDK JDK 总链接 : http://pan.baidu.com/s转载 2016-07-28 23:20:22 · 492 阅读 · 0 评论 -
[Android] Android 判断SD卡是否存在及容量查询
原文传送门Android 判断SD卡是否存在及容量查询的简单方法如下:首先要在AndroidManifest.xml中增加SD卡访问权限[html] view plain copy uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESY转载 2016-10-22 15:27:53 · 782 阅读 · 0 评论 -
[Android]AIDL中的in,out,inout理解
首先要说的是定向tag是AIDL语法的一部分,而 in , out , inout 是三个定向tag,所以读者要有一定的对于Android中AIDL的了解,关于AIDL相关的知识大家可以参考这篇博文:Android:学习AIDL,这一篇文章就够了(上) 。另外,这篇文章基本上可以说是我研究这个东西的心路历程,可能会有些絮叨,请各位看官见谅。转载 2016-09-26 17:08:41 · 2098 阅读 · 0 评论 -
[Android]AIDL详解【上】
AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。是的,首先我们知道的第一点就是:AIDL是一种语言。既然是一种语言,那么相应的就很自然的衍生出了一些问题:为什么要设计出这么一门语言?它有哪些语法?我们应该如何使用它?再深入一点,我们可以思考,我们是如何通过它来达到我们的目的的?更深入一点,为什么要这么设计这门语言?会不会有更好的方式来实现我们的目的?接下来,我们就一步步的来解答上面的这些问题。转载 2016-09-26 17:01:18 · 2945 阅读 · 0 评论 -
[Android]汇总Android Manifest 权限描述大全
android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限android.permission.ACCESS_COARSE_LOCATION 获取错略位置 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米android.permission.ACCESS_FINE_LOCATION 获取精确位置 通过GPS芯片接收卫星的定位信息,定位精度达10米以内android.pe转载 2016-09-25 22:41:30 · 408 阅读 · 0 评论 -
[Android] Android项目Tab类型主界面Fragment+TabPageIndicator+ViewPager
Android现在实现Tab类型的界面方式越来越多,今天就把常见的实现方式给大家来个总结。目前写了:1、传统的ViewPager实现2、FragmentManager+Fragment实现3、ViewPager+FragmentPagerAdapter实现4、TabPageIndicator+ViewPager+FragmentPagerAdapter转载 2016-09-19 23:57:53 · 629 阅读 · 0 评论