写在前面的话
每个开发者在工作中会遇到或多或少的小bug,这里博主把它们记录下来,以便以后查阅。
开始
1. file:///storage/emulated/0/DCIM/xxx.jpg exposed beyond app through ClipData.Item.getUri()
解决:将下面的代码拷贝到application的onCreate里面。
// 大于android 7.0系统解决拍照的问题
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();
2.类似快递的时间轴控件
链接
3.录像时调用MediaRecorder的start()时发生start failed: -19错误
在华为、小米等手机上调用录像功能时出现这个错误,把帧率设置成30即可。
mMediaRecorder.setVideoFrameRate(30);
4.Error: Your project contains C++ files but it is not using a supported native build system. Consider...
首先在工程目录下的gradle.properties文件的末尾加上一句:
Android.useDeprecatedNdk=true
然后再在文件build.gradle(Module)里面的buildTypes类中添加一个这样的方法
sourceSets {
main {
jni.srcDirs = []
}
}
5、一篇Android 学习笔记核心篇
Android 学习笔记核心篇
6、Kotlin下使用butterknife
需要使用 Kotlin 注解处理工具(Kotlin Annotation processing tool,kapt),在module中进行如下配置
apply plugin: 'kotlin-kapt'
kapt "com.jakewharton:butterknife-compiler:10.1.0"
7、kotlin.UninitializedPropertyAccessException: lateinit property deviceFragment has not been initialized
在fragment中绑定butterknife,需要使用
ButterKnife.bind(this,view)
8.Android 连接MQTT服务失败,报错信息为:无权连接(5)
把连接的调用函数:
@Override
public IMqttToken connect(Object userContext, IMqttActionListener callback)
throws MqttException {
return connect(new MqttConnectOptions(), userContext, callback);
}
改为:第二个参数传NULL即可
@Override
public IMqttToken connect(MqttConnectOptions options, Object userContext,
IMqttActionListener callback) throws MqttException {
...
}
9.Android 共享元素动画不生效问题
常规检查
<item name="android:windowIsTranslucent">true</item>
如果如上设置还是不生效,检查是不是应用禁用了硬件加速
android:hardwareAccelerated="false"
改为: android:hardwareAccelerated="true"
10.解决 scrollview嵌套recyclerview 中不能滑动,高度不正常的问题
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_20" />
</RelativeLayout>
嵌套一个布局就OK了
11、Fatal Error:File in XXXXXX\caches are locked.Studio will not be able to start up.