1.悬浮窗
目标版本过高或者和设备相比过高时候,不显示,需要降低
本来好的项目出现这些问题:
一大串,其他显示什么C:\Users\hjh\.gradle\caches
Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
我把 C:\Users\hjh\.gradle\caches下面的文件删除了,运行正常了
2.android -------- java.net.UnknownServiceException
最近升级了Android的API版本时 ,导致我的网络请求失败了,
出现了这个错误 java.net.UnknownServiceException,
这个错误,我在网上查到这个主要是由于,我们的OkHttp3会默认使用密文传输,而我们的代码中使用Http协议,也就是使用明文传输,所以OkHttp3会主动的报错,然后阻止线程的运行。所以我们现在就是要修改配置文件,使OkHttp3允许使用明文传输,或者我们直接使用Https协议。
解决方法:
在 res 下新建一个 xml 目录,然后创建一个名为:network_security_config.xml 文件
该文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
然后在 AndroidManifest.xml application 标签内应用上面的xml配置:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme" > </application>
3.有时候在使用switch的时候,在
setOnCheckedChangeListener方法中执行的逻辑,会因为你在为switch赋值状态的时候,被调用,这个时候,可以
switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b)
{
Log.d(TAG, "onCheckedChanged: ");
if (!compoundButton.isPressed())
{
// 每次 setChecked 时会触发onCheckedChanged 监听回调
// ,而有时我们在设置setChecked后不想去自动触发 onCheckedChanged 里的具体操作, 即想屏蔽掉onCheckedChanged;加上此判断
return;
}
}
});