
Android
AllenC6
来战
展开
-
Android 11设置Intent.ACTION_VIEW的URI使用queryIntentActivities查询
Android 11最小权限原则有一项规定,使用queryIntentActivities查询,只能查询到一些自动对您的应用可见的应用如:浏览器、apk安装等,其他应用查不到了。如果想查到那些不可见的应用有两种方式:一、在Manifest中添加QUERY_ALL_PACKAGES权限添加了这个QUERY_ALL_PACKAGES权限后可以查到所有应用了,但是如果想上架Google的应用商店是不行的,Google会检测这个然后把你的应用拒掉,国内不知道有没有问题二、在Manifest中添加&l原创 2022-02-14 14:29:35 · 3981 阅读 · 0 评论 -
记一次解决当new module import .aar package 时直接创建成了Android library的问题
起因是遇到了使用aar时的这个问题:Direct local .aar file dependencies are not supported when building an AAR找到一篇大佬的解决方案直接上链接:完美解决Direct local .aar file dependencies are not supported when building an AAR. - 拜雨 - 博客园很完美,但是当我在自己的项目按照 new module import .arr package导入aa原创 2021-11-05 16:40:03 · 776 阅读 · 0 评论 -
View没有加载在布局上,还想测量View的宽和高
//先用layoutinflater搞成一个view然后再调用方法测量MarkMapAnchorBinding markMapAnchorBinding = MarkMapAnchorBinding.inflate(getLayoutInflater());getHeight(activity,binding.getRoot());public static int getHeight(BaseActivity context, View v){ DisplayMetrics me.原创 2021-10-18 13:46:53 · 560 阅读 · 0 评论 -
引用androidx.core:core:1.3.2@arr的java代码丢失,导致不能使用NestedScrollView
有一次刚拉下来代码,发现NestedScrollView标红导致整个项目使用引用的时候都是标红,,但是可以编译通过和运行就像这样:试了许多方法:clean项目、同步项目、Invalidate Caches/Restart甚至删除了一次.gradel,都没用作用我的同事和我同时拉的代码啥也没改倒是没有问题,经过对比发现在External LibraLibrary中,NestedScrollView所在的jar包androidx.core:core:1.3.2@arr这个包下没有java代码只有原创 2021-10-09 10:05:50 · 1049 阅读 · 0 评论 -
Okhttp在页面结束的时候取消请求,防止内存泄漏
如果项目没有用mvp和mvvm这种框架自带解决网络请求内存泄漏,用的mvc处理内存泄漏的时候可以考虑rxjava解绑或直接取消okhttp的请求,下面这个方法就是直接取消okhttp的请求的方法如果有tag并且tag是LifecycleOwner可以这样写//tag直接用LifecycleOwner最方便 if (tag instanceof LifecycleOwner){ LifecycleOwner lifecycleOwner = (LifecycleOwn.原创 2021-09-27 16:28:38 · 3003 阅读 · 0 评论 -
从app内跳转chrome浏览器,如果没有就用webView
Uri uri = Uri.parse(Url); Intent intent = new Intent(Intent.ACTION_VIEW, uri); PackageManager pm = getPackageManager(); List<ResolveInfo> queryactivities = pm.queryIntentActivities(intent,..原创 2021-09-24 17:37:34 · 1833 阅读 · 0 评论 -
EditText显示光标的同时不自动获取焦点弹出软键盘,点击父布局显示小键盘,点击其他地方隐藏小键盘
<LinearLayout android:id="@+id/ll_nickName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:lay..原创 2021-09-13 21:24:38 · 453 阅读 · 0 评论 -
图片一直滚动,循环滚动,竖向和横向,还有从左滚动到右再从右滚动到左
竖向:public class ScrollingImageView extends View { private final int speed; private final Bitmap bitmap; private Rect clipBounds = new Rect(); private float offset = 0; private boolean isStarted; public ScrollingImageView(Conte原创 2021-08-26 17:38:28 · 354 阅读 · 0 评论 -
android textview 设置a标签点击事件
1.textview布局文件中的属性必须有android:autoLink="web"这条属性2. public static CharSequence getStringWithClickListener(String html, OnContentClickListener onHtmlClickListener) { Spanned spanned = Html.fromHtml(html); SpannableStringBuilder spanna原创 2021-03-25 15:44:15 · 974 阅读 · 0 评论 -
Android TimerUtil Timer TimerTask
public class TimerUtil { static TimerUtil timerUtil; public synchronized static TimerUtil getInstance() { if (timerUtil == null) { timerUtil = new TimerUtil(); } return timerUtil; } public TimerUtil().原创 2020-12-31 15:19:04 · 177 阅读 · 0 评论 -
Android 硬件加速
好文章转载一下:链接:https://www.jianshu.com/p/601a21b00475翻译自google官方文档:https://developer.android.com/guide/topics/graphics/hardware-accel。从Android3.0(API Level 11)开始,Android 2D渲染管道能够更好的支持硬件加速。硬件加速执行的所有的绘...原创 2020-04-29 10:35:01 · 454 阅读 · 0 评论 -
布局文件中elevation 影响view层级关系
大家知道在relativelayout中后描述的view层级在之前的view的上面,但是如果前面的view设置了elevation就会使前面的view覆盖后面的view打乱默认的绘制逻辑。、例:本来想达到的效果:但是写了这段代码之后<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:and...原创 2020-04-22 10:12:05 · 1197 阅读 · 0 评论 -
Android 10 创建文件失败
Android 10 改变了文件的存储方式不允许应用随意创建文件夹了,要用安卓提供的文件夹。Android 10提供了一些文件夹:例如:Context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS),这个路径是在SD卡的Android目录下的data目录下的自己应用包下的files目录下的Environment.XXX,Envir......原创 2020-04-16 18:08:32 · 9358 阅读 · 3 评论 -
Android——MotionEvent中getActionMask、getActionIndex
Android用一个32位的整型值表示一次TouchEvent事件,低8位表示touch事件的具体动作,比如按下,抬起,滑动,还有多点触控时的按下,抬起,这个和单点是区分开的,下面看具体的方法:1.getAction:触摸动作的原始32位信息,包括事件的动作,触控点信息2.getActionMasked:触摸的动作,按下,抬起,滑动,多点按下,多点抬起3.getActionIndex...原创 2019-10-15 17:37:16 · 658 阅读 · 0 评论 -
自己对鸿蒙的理解
相对于Android系统,鸿蒙系统做出了这些优化1.用华为推出的IDE开发可以自动适配各种设备,手机和电视、手表等等2.推出方舟编译器可以使开发出的应用运行在不同的操作系统上(对cpu机器指令的适配):Android系统慢的原因主要是因为虚拟机对源码的编译、解释耗时,细数Android版本变化中从dalvik虚拟机到ART都是致力优化虚拟机的编译解释时间:Android 1.0(200...原创 2019-08-16 14:48:00 · 1087 阅读 · 0 评论 -
Android ActivityManager工具类
public class ActivityManager { private volatile static ActivityManager sInstance = null; private ActivityManager() { } public static ActivityManager getInstance() { i...原创 2018-12-24 20:54:37 · 860 阅读 · 0 评论 -
SmartRefreshLayout 去掉下拉加载时的动画
public class App extends Application { private static App sInstance; @Override public void onCreate() { super.onCreate(); } // for SmartRefreshLayout static { ...原创 2018-12-19 18:12:02 · 4947 阅读 · 3 评论 -
Android apk方法数量限制 Error: Cannot fit requested classes in a single dex file (# methods: 67667 > 65536
最近开发中遇到一个报错信息 如下Error: Cannot fit requested classes in a single dex file (# methods: 67667 > 65536)大致意思是Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误,尤其在引入一些jar包和搞了一个modle进来之后容易出现这个错误,因为Androi...原创 2018-12-13 10:25:04 · 16663 阅读 · 3 评论 -
集成UMeng推送和阿里的jar包产生的冲突
依赖冲突,umeng的和阿里的经常这样解决办法:我是自己在官网上下载的sdk:https://developer.umeng.com/sdk,然后把push文件夹中的重复的这个jar包alicloud-andrlid-utils-1.1.3.jar删掉,然后把整个push文件夹引入到studio中,然后就能用了 ...原创 2018-12-12 19:36:49 · 1270 阅读 · 0 评论 -
Android 用私钥计算出的签名和数字证书的区别
自己的体会:1.数字证书的作用就是保证里面的公钥还有证书指纹、加密算法啥的没有被别人篡改,然后证书中的证书指纹、发布者、所有者等和你的签名文件中的一样,证明这个app是你的(如何保证请看下文)2.用自己的私钥计算出的签名,保证app的内容在发行过程中不被篡改1.获取签名文件信息:获取apk中的签名:两个指数指纹完全一样,所以签名文件能保证这个app是属于某个...原创 2018-12-11 15:38:14 · 778 阅读 · 0 评论 -
Android 颜色十六进制代表的透明度转换表
透明度 对应十六进制 100% ff 90% e6 85% d9 80% cc 70% b3 60% 99 50% 80 40% 66 30% 4d 20% 33 15% 26 10% 1a 5% 0d 0% 00 ...原创 2018-11-20 16:53:57 · 267 阅读 · 0 评论 -
深入理解TextView.setTextSize()
Android下setTextSize的正确使用姿势本文引用的DevWang的文章链接:https://www.jianshu.com/p/7f2941dbfb17问几个问题先在app/src/main/res/values/dimens.xml中定义尺寸如下:<dimen name="font1">18sp</dimen>在代码中引用此尺寸如下:...转载 2018-11-20 12:02:38 · 3423 阅读 · 0 评论 -
Android中当item数量超过一定大小时,将RecyclerView高度固定
重写LayoutManger的onMeasure方法,这种方式可以获取到各个item的不同高度,从而可以设置变动的高度。在使用这种方式时,有一点需要注意的是,不要将RecyclerView的android:layout_height属性设置为wrap_content,不然是不会成功的。小于四高度自适应,大于四高度就固定recyclerView.setLayoutManager(new Linear...原创 2018-05-08 15:02:05 · 7752 阅读 · 2 评论 -
onWindowFocusChanged了解
在Activity的生命周期中,onCreate()--onStart()--onResume()都不是窗体Visible的时间点,真正的窗体完成初始化可见获取焦点可交互是在onWindowFocusChanged()方法被执行时,而这之前,对用户的操作需要做一点限制。比如我们在做OTT项目时候,我们就是在这onWindowFocusChanged来获取主按键的具体位置和宽高的,而在其他标准生命周...原创 2018-04-24 11:42:38 · 712 阅读 · 0 评论 -
理解layoutparam
一. layoutparams是什么LayoutParams继承于Android.View.ViewGroup.LayoutParamsLayoutParams只是ViewGroup的一个内部类view中的layoutparams属性是父控件的layoutparamslayoutparams能约束view的宽高和位置ViewGroup里边的LayoutParams类是 base cla...原创 2017-10-18 10:20:12 · 1151 阅读 · 0 评论