Browse Source

当mac不合法时候打开 wifi获取

Bitliker 9 years ago
parent
commit
b03f58d57f

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/ChangeMobileActivity.java

@@ -20,7 +20,6 @@ import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
-import com.xzjmyk.pm.activity.util.MacAndIDUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
@@ -79,8 +78,9 @@ public class ChangeMobileActivity extends BaseActivity {
     }
 
     private void initView() {
-        MacAndIDUtil util=new MacAndIDUtil();
-        String mac = util.getMac(ct);
+        String mac = null;
+        if (getIntent() != null)
+            mac = getIntent().getStringExtra("macAddress");
         if (!StringUtils.isEmpty(mac))
             mac_tv.setText(mac);
         exit_btn.setOnClickListener(new View.OnClickListener() {

+ 8 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SigninFragment.java

@@ -103,7 +103,10 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     private int loginNum = 0; //登陆次数
     private boolean isReOne = true;//判断是否是第一次重新定位
     private boolean isMacInNet = true;//是否提交过mac地址
-    private String macError = null;
+    private String macError = null;//mac错误信息
+    private String macAddress;
+    private WifiReceiverUtil wifiReceiver;
+    private MacAndIDUtil util;
 
     private Handler handler = new Handler() {
         @Override
@@ -210,9 +213,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
             }
         }
     };
-    private String macAddress;
-    private WifiReceiverUtil wifiReceiver;
-    private MacAndIDUtil util;
+
 
     //生命周期
     @Override
@@ -338,6 +339,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
     }
 
     private void init() {
+        //循环刷新地址
         ThreadUtil.getInstance().addTask(new Runnable() {
             @Override
             public void run() {
@@ -358,9 +360,6 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                 int resultCode = MyApplication.getInstance().getBdLocationHelper().getResultCode();
                 if (isOk) {
                     setBaiduLocation();
-                    if (isReOne && distance > companyDistance && !isOpenGps()) {
-                        Crouton.makeText(ct, "如果发现定位不准,请及时打开gps并重新定位", 2000);
-                    }
                     isReOne = false;
                 } else {
                     if (resultCode == 62) {
@@ -382,6 +381,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                     Log.i("gongpengming", "isOpen=" + isOpen);
                     if (isOpen) {
                         macAddress = util.getMac(ct);
+                        Log.i("gongpengming","");
                     }
                 }
             });
@@ -420,6 +420,7 @@ public class SigninFragment extends EasyFragment implements View.OnClickListener
                         //TODO 调转到申请更换手机界面
                         dialog.dismiss();
                         Intent intent = new Intent(ct, ChangeMobileActivity.class);
+                        intent.putExtra("macAddress",macAddress);
                         startActivityForResult(intent, 0x18);
                     }
 

+ 12 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/MacAndIDUtil.java

@@ -29,6 +29,8 @@ public class MacAndIDUtil {
                 CommonUtil.setSharedPreferences(ct, "macaddress", mac);
             } else {
                 Log.i("gongpengming", "不合法的");
+                tryOpenWifi(ct);
+                mac = "";
             }
         } else {
             mac = macOld;
@@ -122,5 +124,14 @@ public class MacAndIDUtil {
 
     }
 
-
+    private boolean tryOpenWifi(Context ct) {
+        boolean softOpenWifi = false;
+        WifiManager manager = (WifiManager) ct.getSystemService(Context.WIFI_SERVICE);
+        int state = manager.getWifiState();
+        if (state != WifiManager.WIFI_STATE_ENABLED && state != WifiManager.WIFI_STATE_ENABLING) {
+            manager.setWifiEnabled(true);
+            softOpenWifi = true;
+        }
+        return softOpenWifi;
+    }
 }