LED屏幕-uni-app 离线打包安卓APP常见问题汇总
uni-app 离线打包总会有各种各样的坑,以下是我的分享:
一、在安卓低版本(5.1)运行,字母不显示,显示.
,中文和数字显示正常
在每个页面view加上 lang="en"
,如下图所示:
<view lang="en"></view>
二、在非手机上的安卓版本(7.1),设置upx没有用
设置px,且还需要根据具体大小乘以倍数(小于1)
三、在非手机上的安卓版本(5.1),设置flex没有用
设置宽度,且还需要根据具体大小乘以倍数(小于1),太小设置没用,还需要加:
-webkit-transform-origin-x: 0; //重点
-webkit-transform: scale(0.40); //重点
四、获取本机IP
/**
* 用来获取手机拨号上网(包括CTWAP和CTNET)时由PDSN分配给手机终端的源IP地址。
*
* @return
* @author SHANHY
*/
public static String getPsdnIp() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
//if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (Exception e) {
}
return "";
}
下面方法获取错误:
/**
* 获取本机 ip地址
*
* @return
*/
private String getHostIP() {
String hostIp = null;
try {
Enumeration nis = NetworkInterface.getNetworkInterfaces();
InetAddress ia;
StringBuilder stringBuilder = new StringBuilder();
while (nis.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) nis.nextElement();
Enumeration<InetAddress> ias = ni.getInetAddresses();
while (ias.hasMoreElements()) {
ia = ias.nextElement();
if (ia instanceof Inet6Address) {
continue;// skip ipv6
}
String ip = ia.getHostAddress();
if (!"127.0.0.1".equals(ip)) {
hostIp = ia.getHostAddress();
break;
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return hostIp;
}
总之,是个神奇的东西,靠个人慢慢摸索,真是个大坑,用uniapp整屏幕的显示。
具体要自己慢慢摸索了,最近在调安卓的屏幕显示,真是大开眼界。
有疑问
微信小程序联系客服,及时沟通
扫描公众号,了解更多实例与资源免费分享:
参考
uni-app项目在PDA安卓设备上为什么所有英文字母都被省略掉了,除了小写f没有被省略
Android 手机上获取手机当前上网IP地址(手机网关给手机号分配的IP)
Android/uni-app读取局域网所有IP&MAC