- 博客(58)
- 资源 (6)
- 收藏
- 关注
原创 Android App安装列表获取
获取app安装列表,主要有两个地方代码需要配置:一、在AndroidManifest.xml中添加配置,配置分为权限、白名单、action 三种二、在使用前面任意一种配置后,通过API(Java or Kotlin代码)获取安装列表,也有两种API可使用如果可以使用权限,则使用权限+getInstalledPackages 方案没有问题。如果不可以使用权限,需要查询的白名单少,可以使用 Manifest第二种配置方案+getInstalledPackages。
2025-03-19 19:32:52
927
原创 Android 拍照(有无存储权限两种方案,兼容Q及以上版本)
在某些行业,APP可能被禁止使用存储权限,或公司在写SDK功能,不方便获取权限所以需要有 无存储权限拍照方案。这里两种方案都列出里。对于写入权限,在高版本中,已经废弃, 不可用文件写入读取权限,所以拍照功能也最好使用无权限方式(如果需要获取相册, 需要使用新的权限---媒体权限)
2024-12-06 11:40:55
778
原创 Android 短信验证码自动填充
本文主要介绍国外google上线的app 短信自动填充方案。本方案主要是使用google提出的,防止开发者使用SMS相关权限造成的用户信息泄露。
2024-09-21 00:21:56
1423
原创 用增之Facebook(二)
b.测试非延迟的深度链接,同样的方法,区别就是单独选择“发送通知”,然后在Facebook App会收到一个通知消息,点击消息进入web页响应链接地址(如果是个APP scheme,则会提示打开APP或直接跳转APP内部)。注意:在facebook事件上报测试平台,当金额为小数点后面为0时(例如1.0),可以正常获取到,但是在小数点后面不为0时(例如1.1),则获取不到,valueToSum 后面没有值,这是正常的,可以在事件详情中看到,实际上value已经上传了。2、同一个账号尽量不要频繁换电脑。
2024-07-04 18:52:51
978
原创 Android 中东阿拉伯语适配
横向布局 LinearLayout ,可以使用 FrameLayout,控件需要靠左或靠右可以使用 layout_gravity 设置对应属性切换阿拉伯语时,网格布局 item 之间的距离会出现增大问题,处理方法是:网格分割线 ItemDecoration 需要加入语言来判断,调换原来设置左右的边距即可禁止掉之前的侧滑返回,以免出现冲突一些方向图标,重新做一个相对方向的放到 mipmap-ldrtl-xxxhdpi 包下动画翻转, 放在 anim-ldrtl 将对应的动画进行反向处理。
2024-07-04 13:31:58
1253
原创 用增之Facebook(一)
Facebook相关的网页需要开代理才能访问。Facebook广告投放,分为直投与Web2App。他们共同点是,都是在Facebook的消息列表插入广告,不同点是点击广告后续的处理流程直投:点击广告,直接到达google play 商店。W2A:点击广告,进入web页面,web页面一般展示商品详情,或者内容(例如视频,音乐,小说),在web页面通常会提供下载按钮,到达商店的APP详情页去下载。而下载按钮则会处理一下相关的参数,以及触发DDL的上报。归因:标记当前设备与用户;
2024-07-03 18:13:58
1105
原创 用增之Appsflyer(二)
Log.e(LOG_TAG, "appsflyer 【支付完成】事件回传Success 事件名称:" + getPurchaseName());相同),如果不需要DDL,只上报事件,则不用归因SDK。但实际上,很多事件的处理都依赖于归因,比如支付事件的统计,若没有归因,可能会影响统计。支付件事af_purchase金额与币种(名称可自定义,官方推荐“af_purchase”)金额:af_revenue,币种:af_currency。本篇为事件上报部分(主动上报事件)同样需要说明的重点参数。
2024-07-03 15:49:25
1076
原创 用增之Appsflyer(一)
AppsFlyer可以进行精准的人群定向、优化广告消耗并提升ROI。核心来讲就是归因,让运营指导用户是从哪个广告进行目标的实现。AppsFlyer本身的DDL承接功能以及事件上报,都可以与其他平台关联,比如:tiktok的归因与事件上报,都可以从AppsFlyer后台转发过去,而对于端侧来说,tiktok本身无需任何代码开发,facebook也同理,但facebook本身也有自己的SDK可以实现ddl承接。一、Appsflyer开发 指南1、如果原来有做归因平台,想要切换到Appsflyer,请看指南。
2024-06-05 19:14:53
1128
原创 用增之Firebase
前面讲了google ddl部分,本篇为Firebase的事件上报部分,包括在FireBase平台创建应用 ,用增之Google GA4F。
2024-06-04 17:56:45
459
原创 用增之Google GA4F
google本身自带的能力比较简单,在此我们讲述Google 根依赖firebase获取ddl的能力,也就是GA4F ,全称Google Analysis For FireBase。广告->google play 下载页->启动app后获取到ddl,最后是根据ddl 在代码中判断下一步操作,比如上报日志,请求接口,或者跳转商品详情页等。** Google DDL 开发分为两步,第一步先把google本身的能力处理顺当,然后需要firebase sdk的接入。
2024-06-03 19:16:59
528
原创 Android海外用户增长
做海外app的【用户增长】功能必经之路,Google的FireBase、AppsFlyer、Facebook、Tiktok,Message等SDK可能都需要接触,以上SDK是我们在海外推广APP,提升用户活跃等需求的主要手段。本文只介绍AppsFlyer(下文简称AF)、Facebook、FireBase三家SDK。其余的如Tiktok 用增能力,本身并没有自己代码,也是使用AF SDK。
2024-06-03 16:36:13
652
原创 EditText 换行限制失效
在Android的输入控件EditText 通过android:maxLines=“2”限制行数的时候,点击输入键盘的回车键,行数还是会超出2行,主要解决方式就是,换掉这个回车键按钮的功能,并给EditText设置一个文本类型限制android:imeOptions="actionDone"android:inputType="textMultiLine"android:maxLines="3"或者自定义他的点击事件android:imeActio...
2024-05-31 11:16:41
378
原创 activity-alias 的使用及若干问题
一、使用方法步骤1、 在AndroidManifest.xml 中添加以下代码步骤2、代码控制切换二、 注意点1、android:enabled="false"2、当前标签在AndroidManifest.xml 的注册位置一定要在目标activity(android:targetActivity="")之后.3、android:launchMode 启动模式根据项目中的实际情况而定。singleTask会出现app从后台返回后跑到了首页或者某个主页,一般singleTop就
2023-03-06 18:52:27
3293
原创 鸿蒙系统——popupwindow 布局参数失效
Theme的android:fitsSystemWindows="false"或者删除,默认为false。在popupwindow中 使用 paddingStart paddingBottom 这种参数后,未起作用。经过查看 发现是因为activity的Theme中有以下属性。鸿蒙系统(华为手机 mate20 pro)这个参数的属性,否则会在部分手机中失效。布局中不使用提示添加。
2023-02-08 11:59:21
518
原创 .9图片的问题总结(Android studio制作):
用Androidstudio编辑.9图片有问题?创建之后无法通过编译?点9图片变形?设置.9图片为背景后容器内容无法正常展示? Come on,看这里吧!
2022-11-03 18:12:01
872
转载 手动安装Android abb 包方法
由于现在上传Google play 只需要上传.aab文件,不需要在上传apk的安装包然而在测试中只需要对apk的包进行测试,aab的包虽然在理论上与apk的包是相同的,但是在测试到上线过程中缺少对aab包的测试过程安装aab包需要几个步骤,需要将aab的包转化成apks格式后进行安装需要一个必要条件bundletool下面是bundletool的安装方法与重新打apks包的方法1.安装bundletool$ brew install bundletool2.切换到安装...
2021-07-20 12:09:57
2866
原创 Android EditText 换行 BUG (自动换行与限制行数)
在Android的输入控件EditText 通过android:maxLines=“2”限制行数的时候,点击输入键盘的回车键,行数还是会超出2行,主要解决方式就是,换掉这个回车键按钮的功能,并给EditText设置一个文本类型限制android:imeOptions="actionDone"android:inputType="textMultiLine"android:maxLines="3"或者自定义他的点击事件android:imeActio...
2021-06-30 12:44:33
3212
1
原创 Android事件分发(刷新认知,带你远离网络上的错误知识)
1、所有层级的 分发器(dispatchTouchEvent())返回true时,事件直接结束2、所有层级的 ,消费器(onTouchEvent()) fan hui
2021-06-11 17:15:53
458
4
原创 创建一个悬浮窗 Activity(或者无界面Activity)
创建一个无界面或者悬浮窗的Activity创建一个style <style name="OnePxActivityStyle" parent="Theme.AppCompat.Light.NoActionBar"> <!-- 窗体背景颜色为透明 --> <item name="android:windowBackground">@android:color/transparent</item> <!
2020-11-20 11:40:13
2760
1
原创 Nfc 开发记录总结
整个篇幅 上面为代码,最后面为介绍,如果想直接看我遇到过的坑,点击目录第二条,先来个NDEF写入代码:主要在Activity中的生命周期中调用
2020-11-16 17:28:20
1875
8
原创 PopupWindow与状态栏之小米适配
在Android手机中页面对状态栏做了侵入式展示,但是弹窗的时候,PopupWindow并没有进入状态栏,导致状态栏别具一格的颜色。解决方法一、适用于大多数手机,但是小米新机型例外 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { popupWindow.setIsLaidOutInScreen(true); } else { fitPopupWindowOverStatusBar(popupWindow, tru
2020-10-23 13:51:27
881
原创 Android 组件化+ARouter 开发之路
本文主要做一个记录,搭建组件化+ARouter+MVP 框架过程中遇到的一些问题一、参考资料1、https://www.jianshu.com/p/8098961bd30c2、https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247488201&idx=1&sn=eaefec375237a51726aaa4089e5fc670&source=41#wechat_redirect3、ht
2020-09-14 15:42:45
1009
原创 Mac 下 Git命令以及相关作用
用着 Mac Androidstudio开发Android,好多知识 会比用window系统开发的要少,最近遇到一个问题:使用 git 进行版本管理时,改动的文档并没有被我所使用的版本管理工具(我用的SourceTree)所捕获到,而且在studio上面进行提交的时候,也没有找到git的选项,为此找了好半天。可能是我刚开始理解错了:用git命令进行操作文件,无论用什么版本工具,都会与之同步;也就是说所有git版本管理工具若出现对文件失控,都可以用git 命令进行调整。先排查,根目录中的.git文件是
2020-09-08 15:41:55
299
原创 通过Activity的名字获取他所在的包名以及进程processId
在上面文章中,有一个操作是在同项目中切换进程,解决新进程冷启动的黑白屏问题,中间的时候我有想过判断这个新的进程是否启动,如果已经启动,则不显示loading,如果新的进程未启动,则不弹出loading。这里面需要先去获取到将要跳转的activity所在的进程Id,再去判断是否启动。虽然最后因为这个操作有点儿耗时,中间有将近一秒的耗时,最后放弃了判断,但是还是拿出来给大家分享一下这个知识点,因为我在网上并没有搜到这个操作:1、先去获取到将要跳转的activity所在的进程Id ...
2020-08-26 13:53:25
1039
原创 优化同一项目,不同进程切换时的用户体验
需求怎么来的项目中处理新进程的冷启动,之前一直是通过一下方式去设置的,一张启动页面的图片设置为window的背景,但是这种方式最近被我们领导吐槽了... <style name="AppTheme.Launcher.Main" parent="@style/AppTheme"> <item name="android:windowBackground">@drawable/load</item> </style> ..
2020-08-25 19:00:00
213
原创 错误 The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
一次偶然,调试百度推送Demo时出现这个问题:INSTALL_FAILED_CONFLICTING_PROVIDERList of apks:[0] '/Users/****/Downloads/Baidu-Push-SDK-Android-L2-7.0.0.27/PushDemo_AS/app/build/outputs/apk/debug/app-debug.apk'Installation failed due to: 'null'网上查了很多地方,大多是说AndroidMani.
2020-08-04 10:53:54
2379
原创 Android 开发过程中遇到的一系列问题(持续更新)
目录os.Handler 篇os.Handler 篇工程中使用的大多是android.os 包里面的Handler Handler 发送不成功,或者 Handler 内部handlerMessage 方法未响应: 一、检查发送的方法是否使用的 send 开头的方法,请勿直接调用handlerMessage(), 二、Handler Looper被关闭,检查代码,或者直接在创建Handler的时候传入一个线程Looper if (mhandler == null) { ..
2020-05-15 10:34:44
355
原创 WebView 返回监听以及控制
目录问题:问题一WebView.canGoBack()无法正确返回的问题:解决方法问题二无法判断什么时候finish()webActivity?通过WebBackForwardList去解决问题三加载CSS样式页面,URL未设置,通过什么去判断返回条件与结束页面条件问题:H5内部使用路由器加载新界面时,WebView.canGoBack()==Fa...
2019-12-09 18:14:40
2788
1
原创 java.lang.UnsatisfiedLinkError: 错误记录
java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create() (tried Java_com_baidu_platform_comjni_map_commonmemcache_JNIComm...
2019-10-29 18:05:54
573
原创 热更新 补丁包方式(通过学习Qzone的热修复框架总结)
目录实际操作1、修改有BUG的代码2、修改好代码之后,把这个java文件编译成.class文件1)、可以使用编译工具2)、通过命令行工具,执行java命令进行编译3、打包,把修改好的.class文件使用dx.bat工具打包成1)打包jar2)jar转换成dex4、加载dex包到用户端(通过网络去自己的服务器下载,测试的时候我们直接放入到手机里面,通过程序去读取...
2019-10-24 19:08:52
868
原创 Android 折叠屏适配 、系统多窗口开以及模拟环境调试
最近各大厂商都出现了折叠屏手机,就在下月华为mateX折叠屏即将上市,华为SGA群里的小姐姐不停的催我们去适配。emmm ~~这个挺重要,给适配了,但是中间爬过了一个坑,关于这个问题我们会在具体步骤中说一下,我们先看一下文档中的内容目录配置参数文档我已经上传了可以在我的资源中找到这个是文档的基本信息,第一版本在这里我们只说一下具体的代码部署,至于UI尺寸、界面排版策略、以...
2019-10-15 15:17:59
3610
9
原创 关于Android Studio中 引用module下的jar资源失效问题
(编译环境 Android studio 3.0.1)最近在升级友盟推送以及统计sdk,是个之前的项目,最近才由我负责去维护,所以很多模块的升级更新,为了省事我会重新集成一遍,防止出现某些未知的问题在加入Push 模块之后,我根据studio 出现的警告 把push模块里build.gradle下的compile 换成了implementation 结果无法引用lib下面的jar ...
2019-10-14 16:45:29
480
原创 Android 扇形统计图的设计与编写
先上图,包含统计图初始化时的动画,点击环形的效果饼状图根据效果不同,调用的APi参数略微有差异,有些同学可能不想要中间的空白直接全部展示扇形,emmmm。这种需求比你现在看到的这个样子 要简单的多,看完这种样式的,其他的实现方式也就懂了。首先,实现思路不能落下:1、在自定义View里面初始化的时候(构造方法里),setLayerType(View.LAYER_TYPE_SOF...
2019-09-20 19:15:14
1209
原创 org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed;
解决方式一:javacTask: 源发行版 1.8 需要目标发行版 1.8这句提示我们JDK版本导致的问题右击项目,点击如下图图标,或者找到选项'Open Module Setting'把这两行改成一样的版本解决方式二:https://blog.youkuaiyun.com/mp624183768/article/details/81118249这是别人遇到的一个问题,然后通过...
2019-07-15 11:36:56
10148
1
原创 XlistView的使用
package com.example.myxlistview;import java.util.ArrayList;import me.maxwin.view.XListView;import me.maxwin.view.XListView.IXListViewListener;import android.app.Activity;import android.os.Bund...
2019-05-27 13:57:46
477
原创 Volley NoConnectionError(IOException:unexpected end of stream on Connection)原因之一与解决方案
在使用Volley框架进行网络请求的时候,在小米note2(6.0.1)上报错(get请求),其他手机正常(华为--8.0以上);刚开始因为一部分请求失败,一部分正常,而且是最近出现的问题,想想最近就添加了一个version版本控制,所以着重查了一下这个字段发现一个重大问题:在特定手机小米note2(6.0.1)时一部分接口提示没有网络,(低版本中只有这一个机型,不知道其他的6.0手机是...
2019-05-27 13:56:15
1547
华为折叠屏应用开发指导v1.0(最新版本).pdf
2019-10-15
自定义折线图Demo
2019-02-18
Sublime Text(Mac)
2019-01-08
AnimatedGifEncoder NeuQuant LZWEncoder源码(图片处理)
2018-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人