判断手机环境和其他(如是否中文,应用处于前台,网络状态等等)
2016-10-24 18:47
489 查看
判断app是否在界面显示(焦点)
public static boolean isAppInForeground(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> appProcesses = activityManager .getRunningAppProcesses(); for (RunningAppProcessInfo appProcess : appProcesses) { if (appProcess.processName.equals(context.getPackageName())) { return appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND; } } return false; }
判断当前语言环境是否为中文
public static boolean isZh(Context context) { Locale locale = context.getResources().getConfiguration().locale; String language = locale.getLanguage(); if (language.endsWith("zh")) return true; else return false; }
判断当前网络是否可用
public static boolean isNetwork(Activity activity) { Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager == null) { return false; } else { // 获取NetworkInfo对象 NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo(); if (networkInfo != null && networkInfo.length > 0) { for (int i = 0; i < networkInfo.length; i++) { System.out.println(i + "===状态===" + networkInfo[ a525 i].getState()); System.out.println(i + "===类型===" + networkInfo[i].getTypeName()); // 判断当前网络状态是否为连接状态 if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; }
判断网络状态是移动网络还是wifi网络
public static String getNetworkType(Context mContext) { String netType = ""; ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo == null) { return netType; } int nType = networkInfo.getType(); if (nType == ConnectivityManager.TYPE_MOBILE) { //移动网络 netType = "NETTYPE_CMNET"; } else if (nType == ConnectivityManager.TYPE_WIFI) { //WIFI网络 netType = "NETTYPE_WIFI"; } return netType; }
判断手机中是否安装指定包名的软件
public static boolean isInstallByread(Context context, String name) { List<PackageInfo> packages = context.getPackageManager() .getInstalledPackages(0); for (int i = 0; i < packages.size(); i++) { PackageInfo packageInfo = packages.get(i); if (packageInfo.packageName.equals(name)) { return true; } else { continue; } } return false; }
判断当前情景模式(如静音模式,震动模式)
public static String isSceneMode(Context mContext){ AudioManager audio = (AudioManager) mContext .getSystemService(Context.AUDIO_SERVICE); String type = "正常模式"; if (audio.getRingerMode()==AudioManager.RINGER_MODE_SILENT) { type = "静音模式"; }else if(audio.getRingerMode()== AudioManager.RINGER_MODE_VIBRATE){ type = "震动模式"; } return type; }
相关文章推荐
- MTK Android在其他应用中判断是否处于通话状态
- Android中判断网络是否处于连接状态
- 【Android】判断应用Application、Activity、Service是否处于活动状态
- Android网络状态的监听+判断是否前台进程+ListView的滚动底部
- 【高难度】如何用代码判断本电脑所在的网络是否处于交换机的环境??
- android 判断当前应用是否处于活动状态
- android 判断当前应用是否处于活动状态
- 舒服的判断当前应用是否处于前台
- Android中手机的网络状态(判断是否联网/3G/4G/WIFI)
- 如何通过包名判断手机是否安装了QQ,微信,或其他应用
- 安卓应用中判断手机是否连接网络或者是否连接wife或手机3/4G
- 判断应用是否处于前台的六种方法优缺点?
- 通过包名判断手机上是否安装了QQ,微信,或者其他应用
- Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码
- Android App如何判断应用是否在前台还是处于后台
- 如何判断手机是否处于漫游状态?
- 常见的http状态响应码和判断手机网络是否连接以及连接类型
- 【转】js判断输入是否中文,数字,身份证等等js函数
- Android判断网络状态是否断开
- 页面输入判断是否为各种数字(如空、0~9数字、浮点数、电话手机号码、身份证、邮编等等)