Android
文章平均质量分 56
秋风知劲草
Be better
展开
-
C++ so没有导出符号
新建了一个头文件,加了一些接口,并且接口前面都加了__attribute__((visibility("default")))但是生成的so,用nm -D去查找符号,还是没有找到新加的接口原创 2022-06-16 15:58:10 · 795 阅读 · 1 评论 -
Android相机SurfaceTexture模式帧率下降问题
先抛结论:SurfaceTexture的onFrameAvailable回调,受updateTexImage的影响。再看查证过程:首先问题:开发过程中发现,相机输出帧率随前处理帧率下降而下降,呈明显正相关,这里相机输出帧率是在onFrameAvailable回调里面统计的。所以搞不清到底是因为相机输出帧率变低了,导致前处理帧率变低;还是因为前处理太慢了,影响了相机输出?怀疑的点:相机是不是有buffer限制,类似生产-消费,如果生产了(相机onFrameAvailable回调)没有消费(没有调原创 2022-05-16 14:05:50 · 1590 阅读 · 0 评论 -
Android NDK编译遇到的一些问题
在配置Android.mk的时候,遇到了一些问题1、mk文件没跑检查代码,极可能是路径写错了,可以用$(warning $(DIR_3RDPARTY)) 打印,用ls 去看看有没有这个路径变量赋值要用 :=,用=会导致不可预料的问题,例如变量在后续使用中被拼接了其他内容//DIR_3RDPARTY := $(LOCAL_PATH)/../../3rdparty### 例如这里泄露了:,直接用 = 赋值DIR_3RDPARTY = $(LOCAL_PATH)/../../3rdparty原创 2022-04-01 12:25:55 · 3650 阅读 · 0 评论 -
git比较不同版本的同一个文件变化
git diff 提交id:xxx/strings.xml 新提交id:xxx/strings.xml (该次提交修改需包含此文件)-红色是删除, +绿色是新增, 白色是不变的确认前后位置用原创 2018-01-31 23:12:31 · 3847 阅读 · 0 评论 -
小米note4退出google账号
在做android app使用第三方登录时,想测试google的账号登录及授权后的流程,然而登录过一次后google账号会被记住。找了好久没发现在哪去取消授权或退出google账号重新登录,在google网页端也没有。小米note4,最后在设置-》同步-》找到google账号,并移除账号,即可原创 2018-01-18 14:43:18 · 15201 阅读 · 1 评论 -
Android 判断手机系统语言是简体中文的坑
为了简便,开始是下面的写法,讲道理没问题..../** * 判断是否是简体中文 */public static boolean isZhRCN() { return Locale.getDefault().equals(Locale.SIMPLIFIED_CHINESE);}/** Useful constant for language. */static publ原创 2018-02-03 18:02:35 · 3316 阅读 · 1 评论 -
Twitter分享失败com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 401
Twitter分享失败,提示com.twitter.sdk.android.core.TwitterApiException: HTTP request failed, Status: 401401是指授权没成功,但问题是只有部分手机出现,并且开启翻墙也没用,排除网络原因。最后发现,去系统时间和日期那里,开启自动确定,就好了。原因可能是Twitter那边会检查两端的时间是否一致...原创 2018-02-12 11:54:57 · 35196 阅读 · 0 评论 -
Textview android:ellipsize="middle"不起作用
android:maxLines="2"android:ellipsize ="middle"当设置maxLines为2,ellipsize="middle"时,发现文案超出部分被直接截掉了在Stack Overflow上找到答案,4.0之后的版本多行ellipsize="middle"不起作用....mark一下https://stackoverflow.com/questions/37386...原创 2018-03-29 15:07:30 · 4029 阅读 · 0 评论 -
Android全面屏手机获取屏幕高度适配问题
在做手机截屏功能的时候发现,全面屏截图和调用系统的截图不一致https://blog.csdn.net/consumer11/article/details/51967340经排查,是获取手机屏幕高度的值不对getResources().getDisplayMetrics().heightPixels 在三星S8上返回的值不对,没包含系统状态栏Stack Overflow上找到了答案https:/...原创 2018-04-25 11:14:20 · 11064 阅读 · 1 评论 -
安卓获取状态栏,底部导航栏高度
状态栏即statusBar,导航栏即某些手机底部有返回键的虚拟键那一栏,叫navigationBar。1. 获取顶部statusBar高度private int getStatusBarHeight() { Resources resources = mActivity.getResources(); int resourceId = resources.getIdentifier...原创 2018-04-26 20:19:16 · 11909 阅读 · 1 评论 -
Android 7.1 机型上报告的由Toast引起的BadTokenException错误
原文:https://segmentfault.com/q/1010000012340763,mark一下这个问题由于targetSDKVersion升到26之后,在7.1.1机型上概率性出现。稳定复现的步骤是,在Toast.show()之后,UI线程做了耗时的操作阻塞了Handler message的处理,如使用Thread.sleep(5000),然后这个崩溃就出现了。原因是7.1.1系统对T...转载 2018-04-28 18:09:46 · 558 阅读 · 0 评论 -
Intent.ACTION_SEND方式分享图片到微信失败
Intent.ACTION_SEND分享图片到微信时,如果同时设置EXTRA_STREAM和EXTRA_TEXT,分享之后,会发现图片并没有发出去,文字也没有 it.putExtra(Intent.EXTRA_STREAM, shareImageUri); it.putExtra(Intent.EXTRA_TEXT, shareContent);只设置...原创 2018-05-24 17:06:45 · 2052 阅读 · 0 评论 -
SQLiteOpenHelper 崩溃Couldnt read row 0, col -1 from CursorWindow.
数据库table升级,加了一列,在onCreate和onUpgrade都加了相应column,版本号也升级了。结果发现部分升级安装的用户出现崩溃。崩溃信息如下java.lang.IllegalStateException: Couldnt read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized corr...原创 2019-01-28 18:23:45 · 694 阅读 · 0 评论 -
android sendTextMessage每发送一条短信都弹权限提示
做了一个可以多选联系人的页面,选择之后,sendTextMessage发送多条短信,发送之前有检查发送短信的授权,没授权将请求授权,授权成功后才发送。结果发现Oppo A1601,判断时是已授权,直接走sendInviteSMS(); 调用sendTextMessage逐条发短信,但是每发一条短信都会弹一次授权提示。经查,设置里面应用是已经被授权发送短信,是Oppo A1601自带的安全中心对原创 2018-01-31 23:06:01 · 4364 阅读 · 1 评论 -
android 发送短信,提示没有有效的接收者
一加5,选择多个联系人之后,跳转系统短信发送页,发送时提示没有有效的接收者经查,是因为多个手机号的分割符号问题,一般手机是分号; 一加5却是逗号,final List choosenContact = getChooseContactList();if (null != choosenContact && !choosenContact.isEmpty()) { clear原创 2018-01-31 22:52:54 · 5039 阅读 · 0 评论 -
More Language设置
More Language可以让android手机切换多语言但是使用前需要root权限,或者android.permission.CHANGE_CONFIGURATION权限根据More Language上面提示,下载压缩包,之后手机USB连接电脑,打开USB调试,然后执行bat文件然而提示操作不允许,并没授权成功Operation not allowed: java.lang.S原创 2018-01-02 17:38:27 · 1304 阅读 · 0 评论 -
Android中getResources().getDrawable() 过时的解决方法
转自:http://stackoverflow.com/questions/29041027/android-getresources-getdrawable-deprecated-api-22当你这个Drawable不受主题影响时ResourcesCompat.getDrawable(getResources(), R.drawable.name, null);转载 2017-05-22 12:10:32 · 11608 阅读 · 0 评论 -
SourceTree使用问题
初学Git之SourceTree遇到的一些问题汇总1、push时提示no new changes1)第一次想push到leader去review,结果没提交直接push。 没理解提交和推送的区别:提交时提交到本地分支,推送时更新到远程服务器分支。需要先提交,再push,同时在push时,在分支名前面加:refs/for/ 提交后push按钮应该会显示1,表示有一原创 2017-05-19 14:51:26 · 3846 阅读 · 0 评论 -
Android动画开始位置和结束位置不一样问题
前段时间做个Camera手动触屏对焦的功能,FocusArea和MeteringArea设置为触屏位置,同时需要在该位置播放一个缩放动画ScaleAnimation。缩放动画是通过ImageView去播放的,一开始通过ImageView:setX和setY去设置动画的位置,诡异的事就出现了,缩放动画会从地方慢慢移动到触屏位置!而不是一开始就在触屏位置播放。而如果ImageView只显示图片,就原创 2017-06-03 17:57:26 · 1853 阅读 · 0 评论 -
android判断手机是否支持某种语言
在做app多语言的时候,遇到手机不支持某种语言时,显示空白,或方框里面打叉。原因是手机系统的字体库不支持该种语言。解决思路:去检测手机系统是否支持,不支持时,不显示该种语言设置选择。方法:例如旁遮普语,语言码是pa,定义两个不同的旁遮普语字符串,将两个字符串分别写到两个大小相同的bitmap,再去比较两个bitmap每个像素值是否相同,相同表示不支持,不相同表示支持。因为不支持时,显示原创 2017-08-18 17:28:52 · 1641 阅读 · 0 评论 -
android 多语言设置没法切到印尼语
转自:http://zhanglu0574.blog.163.com/blog/static/113651073201591623152361/在做多语言的时候,国家都可以直接用config.locale = Locale.CHINA;或者config.locale = new Locale("ru");这样直接调用到,但是印尼的时候使用config.locale = ne转载 2017-08-12 10:57:37 · 6475 阅读 · 0 评论 -
android填充内存工具(辅助测试)
介绍个android应用,可以填充手机内存,模拟内存泄漏的环境,可以用于辅助app测试Fill RAM Memorygoogle play下载链接:https://play.google.com/store/apps/details?id=me.empirical.android.application.fillmemory原创 2017-08-30 17:19:45 · 7438 阅读 · 2 评论 -
Android 多语言翻译文件导入和检查
一、多语言翻译文件导入项目由于APP的多语言文件经常会更新,所以可以写一个bat文件,将对应文件复制到项目中。二、多语言文件检查多语言文件字符串很多可能包含 %s、%d的情况,如果翻译时不小心去掉了,极有可能导致软件崩溃。使用Android Studio自带的Inspect Code可以检查,以规避多语言文件导致的错误。Analyze -> Inspect Co原创 2017-10-19 17:04:06 · 1428 阅读 · 0 评论 -
Android 软键盘覆盖并抬起输入框
页面有EditText,获取焦点时,默认情况下,软键盘会把整个页面布局给顶上去假设我们想要软键盘覆盖在原页面上,只是把EditText抬起到软键盘之上,或是想监测软键盘显示或隐藏时,进行一些操作效果图 思路是用屏幕高度减键盘抬起时,页面可视区域的高度,得到软键盘的高度关键代码:Rect r = new Rect();((Activity)(mCo原创 2017-10-20 15:32:02 · 2240 阅读 · 0 评论 -
STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
崩溃信息如下:STACK_TRACE=java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.p.g(FragmentManager.java:1538) at android.support.v4.a原创 2017-10-28 11:54:48 · 317 阅读 · 0 评论 -
Android分享视频链接到VK无法打开
android app分享视频链接到VK,突然发现有的链接没有显示视频预览图,并且无法打开(如下图1)。用其他手机去分享时,没问题(如下图2)。后面经过排查是英文版的分享时出现问题,英文分享的文案中包含了 “...... Hollywood films.Tap: https://....”在VK的分享编辑页时,films.Tap就已经被错误识别为一个链接,而原本的链接当做了普通文案(如原创 2017-10-30 15:43:06 · 6232 阅读 · 0 评论 -
Twitter分享失败,HTTP 403 error
twitter频繁分享,由于分享的文案内容变化很小,很容易出现非常失败,提示HTTP 403 error,通过断点看到Exception信息还有 “status is a duplicate”经查:原因是twitter认为你是重复分享内容官方文档说明 https://developer.twitter.com/en/docs/tweets/post-and-engage/api-refer原创 2017-11-16 15:58:08 · 2485 阅读 · 0 评论 -
android 分享到YouTube失败 403
app分享视频到YouTube,之前都是成功的,突然就不行了,返回错误代码403.查询YouTube Data API,https://developers.google.com/youtube/v3/docs/errors403有两种情况:1、没有授权访问 2、请求超过限额经查,限额是每天100W请求上限。最终找到原因就是请求数超过了100W上限,每天下午15:0原创 2017-08-21 20:14:33 · 3978 阅读 · 1 评论 -
解决在onCreate()过程中获取View的width和Height为0的4种方法
解决在onCreate()过程中获取View的width和Height为0的4种方法很经常当我们动态创建某些View时,需要通过获取他们的width和height来确定别的view的布局,但是在onCreate()获取view的width和height会得到0.view.getWidth()和view.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待系统将绘转载 2017-12-25 19:22:25 · 195 阅读 · 0 评论 -
Android NDK: Could not find application project directory
ndk-build时错误:Android NDK: Could not find application project directory ! Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. /opt/android-ndk-r10b/build/core/build-local原创 2017-05-12 14:08:38 · 13859 阅读 · 1 评论