CommonUtil.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.hanghui.senic.common;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.pm.PackageInfo;
  6. import android.content.pm.PackageManager;
  7. import android.graphics.Bitmap;
  8. import android.graphics.BitmapFactory;
  9. import android.net.ConnectivityManager;
  10. import android.net.LinkAddress;
  11. import android.net.LinkProperties;
  12. import android.net.Network;
  13. import android.net.NetworkInfo;
  14. import android.net.Uri;
  15. import android.net.wifi.WifiManager;
  16. import android.text.TextUtils;
  17. import android.text.format.Formatter;
  18. import android.util.Base64;
  19. import android.view.View;
  20. import android.view.ViewGroup;
  21. import android.widget.FrameLayout;
  22. import com.hanghui.senic.BuildConfig;
  23. import com.hanghui.senic.MyAppliction;
  24. import com.hanghui.senic.baiduface.OnePxActivity;
  25. import com.hanghui.senic.service.usbserialdemo.utile.ConfigManager;
  26. import com.hanghui.senic.service.usbserialdemo.utile.X1.RelaysAndLedUtile;
  27. import com.hanghui.senic.service.usbserialdemo.utile.X5.X5RelaysAndLedUtile;
  28. import com.hanghui.senic.service.usbserialdemo.utile.loacat.AppLogUtils;
  29. import java.net.InetAddress;
  30. public class CommonUtil {
  31. public static final String TAG = "CommonUtil";
  32. public static View getContentView(Activity activity) {
  33. ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
  34. FrameLayout content = (FrameLayout) decorView.findViewById(android.R.id.content);
  35. return content.getChildAt(0);
  36. }
  37. public static View getDecorView(Activity activity) {
  38. ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
  39. return decorView;
  40. }
  41. public static Activity getCurrentActivity() {
  42. MyAppliction appliction = (MyAppliction) MyAppliction.getContext();
  43. Activity currentActivity = appliction.getCurrentActivity();
  44. if (currentActivity == null) {
  45. AppLogUtils.e(true, TAG, "currentActivity == null");
  46. }
  47. return currentActivity;
  48. }
  49. public static void gotoOnePxActivity() {
  50. Activity activity = CommonUtil.getCurrentActivity();
  51. if (activity == null) {
  52. return;
  53. }
  54. Intent intent = new Intent(activity, OnePxActivity.class);
  55. activity.startActivity(intent);
  56. }
  57. public static String byteArrayToBase64String(byte[] data) {
  58. if (data == null) {
  59. return "";
  60. }
  61. String base64Str = Base64.encodeToString(data, Base64.DEFAULT);
  62. return base64Str;
  63. }
  64. public static byte[] base64StringToByteArray(String base64Str) {
  65. if (TextUtils.isEmpty(base64Str)) {
  66. return null;
  67. }
  68. byte[] data = Base64.decode(base64Str, Base64.DEFAULT);
  69. return data;
  70. }
  71. public static Bitmap base64ToBitmap(String base64String) {
  72. base64String = Uri.decode(base64String);
  73. byte[] decode = Base64.decode(base64String, Base64.DEFAULT);
  74. Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length);
  75. return bitmap;
  76. }
  77. public static String getVersionName() {
  78. Context context = MyAppliction.getContext();
  79. PackageInfo packageInfo = null;
  80. try {
  81. packageInfo = context.getPackageManager()
  82. .getPackageInfo(context.getPackageName(), 0);
  83. } catch (PackageManager.NameNotFoundException e) {
  84. e.printStackTrace();
  85. }
  86. //获取APP版本versionName
  87. String versionName = packageInfo.versionName;
  88. //获取APP版本versionCode
  89. int versionCode = packageInfo.versionCode;
  90. return versionName;
  91. }
  92. //获取有线网的ip地址
  93. public static String getEthernetIpAddress(Context context) {
  94. ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  95. Network[] networks = connectivityManager.getAllNetworks();
  96. for (Network network : networks) {
  97. NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network);
  98. //判断网络类型 有线网
  99. if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {
  100. LinkProperties linkProperties = connectivityManager.getLinkProperties(network);
  101. if (linkProperties != null) {
  102. for (LinkAddress linkAddress : linkProperties.getLinkAddresses()) {
  103. InetAddress inetAddress = linkAddress.getAddress();
  104. return inetAddress.getHostAddress();
  105. }
  106. }
  107. }
  108. }
  109. return "";
  110. }
  111. //获取无线网的ip地址
  112. public static String getWifiIpAddress(Context context) {
  113. WifiManager wifiMgr = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
  114. if (wifiMgr != null && wifiMgr.getConnectionInfo() != null) {
  115. int ipAddress = wifiMgr.getConnectionInfo().getIpAddress();
  116. return Formatter.formatIpAddress(ipAddress);
  117. }
  118. return "";
  119. }
  120. public static String getIPAddress() {
  121. Context context = MyAppliction.getContext().getApplicationContext();
  122. String ip = getEthernetIpAddress(context);
  123. if(TextUtils.isEmpty(ip)) {
  124. return getWifiIpAddress(context);
  125. }
  126. return "";
  127. }
  128. public static boolean isDebug() {
  129. if( BuildConfig.BUILD_TYPE.equals("debug") ){
  130. return true;
  131. }
  132. return false;
  133. }
  134. /**
  135. * 打开/关闭 补光灯
  136. *
  137. * @param isOpenLedLight
  138. */
  139. public static void setLedLight(boolean isOpenLedLight) {
  140. if (ConfigManager.getAuthenticationBean() != null && ConfigManager.getAuthenticationBean().getData() != null) {
  141. // RelaysAndLedUtile.getInstance().setLedLight(ConfigManager.getAuthenticationBean().getData().get(0).getLightMode(), isOpenLedLight);
  142. X5RelaysAndLedUtile.getInstance().setLedLight(ConfigManager.getAuthenticationBean().getData().get(0).getLightMode(), isOpenLedLight);
  143. }
  144. }
  145. }