前言:在开发安卓移动端时,几乎每一个app都需要连接网络,因此,对设备的网络状态检测是很有必要的!比如:检测当前网络是否可用,当前可用的网络是属于WIFI还是MOBILE等等。...3、判断当前网络状态是否为连接状态 if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED){ return true; }...4、在AndroidManifest.xml中添加访问当前网络状态权限 android:name="android.permission.ACCESS_NETWORK_STATE...; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo...return networkInfo.getType(); } } return -1; } /** * 获取当前的网络状态
文章目录 一、获取 WIFI 状态 二、主动获取 WIFI 状态 三、被动获取 WIFI 状态 参考 Google 官方文档 : 优化电池续航时间 一、获取 WIFI 状态 ---- 在应用中执行某些操作..., 如软件云端备份 , 从服务器端获取最新版本号 , 从服务器端缓存最新软件安装包 , 固件版本 , 等操作 , 最好都在 WIFI 状态下执行 , 获取 WIFI 的状态也是两种情况 , 分别是主动获取...WIFI 状态 , 被动获取 WIFI 状态 ; 上述操作 , 也建议在手机上充电的状态下执行 ; 二、主动获取 WIFI 状态 ---- 1 ....获取 WIFI 状态 : WIFI 状态可以使用 ConnectivityManager 获取 , 调用 getActiveNetworkInfo 方法获取 NetworkInfo 后 , 先判定当前网络是否连接...android.content.Intent; import android.text.TextUtils; import android.util.Log; /** * 被动获取网络状态 *
参考autojs的获取GPS定位的代码: function getLocationLoop(){ //判断是否已经打开GPS模块 if(locationManager.isProviderEnabled...= locationManager.getLastKnownLocation(provider); log("经度:"+location.getLongitude()+"\n纬度...:"+location.getLatitude()) var gc = new android.location.Geocoder(context,java.util.Locale.getDefault...()); var result = gc.getFromLocation(location.getLatitude(),location.getLongitude(),1);...hasLongitude=true,longitude=119.918762,phone=null,url=null,extras=null] 具体获得某一项信息的函数: getAdminArea() :返回状态首字母缩略词
当popWindow所有设计完毕后,从底部弹出popWindow,发现设置在popWindow的上的titlebar一部分被压入状态栏的底部了,也就是说全屏是全屏了,但是超过了应有的部分!...解决方案: 为了达到良好的兼容性,我们可以如下变现代码 /** * 用于获取状态栏的高度。 * * @return 返回状态栏高度的像素值。...statusBarHeight = frame.top; } return statusBarHeight; } 还可以使用Resource对象获取...; String displayId = android.os.Build.DISPLAY; if(!...); -------------------------2015-05-05更新,沉浸式状态栏--------------------------------- public class SystemBarTintManager
开发android有几年了,但是从来没有整理过,一直是写写写.从今天起开始慢慢整理,总结之处如有错误请指出,谢谢 TextWatcher在什么时候会被调用?
文章目录 一、获取充电状态 二、被动获取充电状态 三、主动获取充电状态 参考 Google 官方文档 : 优化电池续航时间 一、获取充电状态 ---- 在应用中执行某些操作 , 如软件云端备份 , 从服务器端获取最新版本号..., 从服务器端缓存最新软件安装包 , 固件版本 , 等操作 , 最好都在充电状态 , 那么如何获取充电状态呢 , 这里给出两个方式 , 分别是主动获取充电状态 , 被动获取充电状态 ; 二、被动获取充电状态...被动获取充电状态 : ① 监听方法 : 注册广播接受者 , 监听充电状态变化 ; ② 场景描述 : 当用户插拔数据线时 , 充电状态发生变化时 , 系统发出对应的广播 , 使用广播接受者接收这些广播 ;...; import android.content.Intent; import android.text.TextUtils; import android.util.Log; /** * 被动获取充电状态..., -1); ④ 对比充电状态 : 将上述从 Intent.ACTION_BATTERY_CHANGED 匹配的意图中获取 BatteryManager.EXTRA_PLUGGED 对应的值 , 与以下
return false; } return cmpNameTemp.equals(cmdName); } 推断Android...().contains(packageName)) { return true; } return false; } 获取...Android手机内安装的全部桌面 private static List getAllTheLauncher(Context context) { List<String...activityInfo.packageName; names.add(packageName); } return names; } Android...推断程序前后台状态 public static boolean isLauncherRunnig(Context context) { boolean result = false
恩,方法是有的,也许还不止一个,下面提供一个作为参考: 1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView...有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。...于是,我们就可以算出状态栏的高度了。...: getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。...int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); //statusBarHeight是上面所求的状态栏的高度
在《C#开发BIMFACE系列12 服务端API之文件转换》中详细介绍了7种文件转换的方法。发起源文件/模型转换后,转换过程可能成功也可能失败。那么在这种情况下就需要查询源文件/模型的转换状态。...第三种就是本篇要介绍通过接口查询转换状态。 请求地址:GET https://api.bimface.com/translate 说明:应用发起转换以后,可以通过该接口查询转换状态 参数: ?...9b711803a43b92d871cde346b63e5019/thumbnail/256.png" ] }, "message" : "" } C#实现方法: 1 /// 2 /// 获取转换状态...return response; 34 } 35 catch (Exception ex) 36 { 37 throw new Exception("[获取转换状态...测试代码如下: 1 // 获取转换状态 2 protected void btnGetFileTranslateStatus_Click(object sender, EventArgs e) 3
文章目录 一、Canvas 状态栈入栈与出栈 二、获取 Canvas 状态栈容量 三、Canvas 状态栈原点数据 Canvas 状态保存机制 中 , 存在两个栈结构 , 分别是 状态栈 和 图层栈 ;...throw new IllegalStateException("Underflow in restore - more restores than saves"); } } 二、获取...Canvas 状态栈容量 ---- 通过调用 Canvas#getSaveCount() 方法 , 可以 获取当前 Canvas 画布的 状态栈 容量 , 当前缓存了多少个 坐标数据 , 也就是调用了多少次...方法获取的值是 1 ; 如果没有调用 Canvas#save() 方法 , 直接调用 Canvas#restore() 方法 , 就会将 状态栈 中的 原点坐标数据 出栈 , 该操作会导致程序崩溃 ,...- more restores than saves at android.graphics.Canvas.restore(Canvas.java:605) at kim.hsl.android_ui.PathMeasureView3
网络上有很多的API数据提供商,例如聚合、天行等,这里我将使用天行API,可能会有第一次看博客的朋友,不过我也是第一次写这个垃圾分类APP,因此我们都从头开始吧。...一、申请垃圾分类API 首先注册账号,点击天行数据API进入主页。 朴实无华的主页,右上角那里就是登录和立即注册,点击立即注册。 这里就是填写基本信息,没啥好说的。...既然是网络API接口,那么首先应该解决网络的问题。...三、访问API接口 可以在MainActivity中写一个这样的方法,通过使用Okhttp来请求API接口,这里使用的是Get请求,也都是常规的代码。由于变化的只有物品,因此作为入参传进来。...super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取识别的结果
上一篇《C#开发BIMFACE系列13 服务端API之获取转换状态》中介绍了根据文件ID查询单个文件的转换状态。 本文介绍批量获取转换状态详情。...请求地址:POST https://api.bimface.com/translateDetails 说明:应用发起转换以后,可以根据筛选条件,通过该接口批量查询转换状态详情 参数: ?...对应封装的请求实体类为: 1 /// 2 /// 批量获取转换状态详情的请求数据 3 /// 4 [Serializable] 5 public class...return response; 36 } 37 catch (Exception ex) 38 { 39 throw new Exception("[批量获取转换状态详情...测试代码如下: 1 // 批量获取转换状态详情 2 protected void btnGetFileTranslateDetails_Click(object sender, EventArgs
如果是通过调用服务接口来上传文件,上传结束后也可以再调用BIMFACE提供的“获取文件上传状态信息”接口来查询状态。 下面详细介绍如何获取文件上传状态信息。...请求地址:GET https://file.bimface.com/files/{fileId}/uploadStatus 说明:根据文件ID获取文件上传状态信息 参数: ?...}, "message" : "" } C#实现方法: 1 /// 2 /// 获取文件上传状态信息 3 /// 4 /// <param..., ex); 38 } 39 } 其中引用的 httpManager.Get() 方法,请参考《C#开发BIMFACE系列6 服务端API之获取文件信息》,方法完全一样。...可以看到获取文件上传状态信息成功,返回了以下信息:失败原因、文件编号、文件的名称、文件的上传状态。
" /> android:name="android.hardware.camera.flash" /> 二、在android 11 和android 8 真机上测试...三、另外一种形式,获取手电筒的开关状态,循环开关。获取手电筒状态的通过回调方法:mTorchCallback,一进入app就回有一个回调返回现在手电筒的状态。...super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取...enabled); } }; public void toggleLight(boolean OPEN) { try { //获取当前手机所有摄像头设备...flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE); /* * 获取相机面对的方向
在 Android 应用开发中,有时我们需要知道状态栏和导航栏的高度,以便在布局中进行调整。获取这些高度的方法有几种,每种方法在准确性和兼容性方面有所不同。...获取状态栏高度的方法 方法一:通过资源名称获取 这种方法最常见,也最推荐,具有较高的准确性和兼容性。...这种方法需要 API 20 (Android 4.4W) 以上,但在较新版本的 Android(API 21及以上)中更为准确。...: 0 } 获取导航栏高度的方法 方法一:通过资源名称获取 这种方法和获取状态栏高度的方式类似。...2、 通过 WindowInsets 获取: 优点:在较新版本的 Android 上非常准确。 缺点:需要较新的 API 级别,可能需要做额外的兼容性处理。
本文介绍通过调用接口的方式来查询模型对比状态的结果。模型/文件对比状态有四种:prepare(待对比)、processing(对比中)、success(对比成功)、failed(对比失败)。...请求地址:GET https://api.bimface.com/v2/compare 说明:应用发起对比以后,可以通过该接口查询对比状态 参数: ?...请求 path(示例):https://api.bimface.com/v2/compare?...return response; 34 } 35 catch (Exception ex) 36 { 37 throw new Exception("[获取模型对比状态...测试 测试代码如下: 1 /// 2 /// 获取对比状态 3 /// 4 protected void btnGetCompareStatus_Click
系列目录 【已更新最新开发文章,点击查看详细】 在《C#开发BIMFACE系列31 服务端API之模型对比2:获取模型对比状态》中介绍了根据对比ID,获取一笔记录的对比状态。...由于模型对比是在BIMFACE云端进行的,通常需要5~10分钟,在等待对比的过程中还可以发起更多的模型对比,最后通过接口一次性批量获取模型对比状态 。...请求地址:POST https://api.bimface.com/compares 说明:应用发起对比以后,可以根据筛选条件,通过该接口批量查询对比状态 参数: ?...其中 ModelCompareQueryRequest 类如下 1 /// 2 /// 批量获取模型对比状态的请求参数类 3 /// 4 public...appKey")] 10 public string AppKey { get; set; } 11 12 /// 13 /// 【非必填项】对比后返回的ID,用于获取对比状态或者结果等信息
-- 访问网络,某些位置信息需要从网络服务器获取 --> android:name="android.permission.INTERNET" /> 状态,需要WiFi信息用于网络定位 --> android:name="android.permission.ACCESS_WIFI_STATE" /...-- 修改WiFi状态,发起WiFi扫描, 需要WiFi信息用于网络定位 --> android:name="android.permission.CHANGE_WIFI_STATE...-- 访问网络状态, 检测网络的可用性,需要网络运营商相关信息用于网络定位 --> android:name="android.permission.ACCESS_NETWORK_STATE...-- 访问手机当前状态, 需要某些信息用于网络定位 --> android:name="android.permission.READ_PHONE_STATE" />
最近在项目中,需要获取到软键盘的高度,再将底部的布局上移键盘的高度,话不多说,直接上代码: 获取软键盘高度 //一个静态变量存储高度 public static int keyboardHeight...> c = Class.forName("com.android.internal.R$dimen"); Object obj = c.newInstance()...= null; } return false; } } 监听键盘处于打开还是关闭状态: private void setListenerToRootView()...rootView.getBottom() - r.bottom; return heightDiff > softKeyboardHeight * dm.density; } ---- 小编整理了一份Android...电子书籍,需要的童鞋关注公众号回复:"e_books" 即可获取哦!
看了一波源码写出来的一些东西 首先需要的一些权限(危险权限动态获取一下,之前的里面有): android:name="android.permission.INTERNET...="android.permission.ACCESS_COARSE_LOCATION"/> android:name="android.permission.READ_EXTERNAL_STORAGE...); //获取设备编号 tm.getDeviceId(); //SIM卡提供商的ISO国家代码 tm.getSimCountryIso(); //获取SIM卡序列号 tm.getSimSerialNumber...; int cid = location.getCid(); int lac = location.getLac(); int psc = location.getPsc();...} //获取手机类型 tm.getPhoneType(); //获取手机号码 tm.getLine1Number(); //获取国际长途区号 tm.getNetworkCountryIso(); //获取连接状态
领取专属 10元无门槛券
手把手带您无忧上云