|  |  | 
 |  |  | import android.view.View; | 
 |  |  | import android.widget.Toast; | 
 |  |  |  | 
 |  |  | import com.dayu.baselibrary.utils.DeviceUtils; | 
 |  |  | import com.dayu.baselibrary.utils.TipUtil; | 
 |  |  | import com.dayu.baselibrary.view.PassWordDialog; | 
 |  |  | import com.dayu.henanlibrary.HeNanApplication; | 
 |  |  | import com.dayu.henanlibrary.databinding.ActivityHomeBinding; | 
 |  |  | import com.dayu.henanlibrary.databinding.ActivityHomeHnBinding; | 
 |  |  | import com.dayu.henanlibrary.dbBean.AdminDataBean; | 
 |  |  |  | 
 |  |  | import java.lang.reflect.Method; | 
 |  |  | 
 |  |  | public class HomeActivity extends HNBaseActivity { | 
 |  |  |  | 
 |  |  |     public static HomeActivity homeActivity; | 
 |  |  |     ActivityHomeBinding homeBinding; | 
 |  |  |     ActivityHomeHnBinding homeBinding; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     protected void onCreate(Bundle savedInstanceState) { | 
 |  |  |         super.onCreate(savedInstanceState); | 
 |  |  |         homeActivity = this; | 
 |  |  |         homeBinding = ActivityHomeBinding.inflate(LayoutInflater.from(this)); | 
 |  |  |         homeBinding = ActivityHomeHnBinding.inflate(LayoutInflater.from(this)); | 
 |  |  |         setContentView(homeBinding.getRoot()); | 
 |  |  |         initView(); | 
 |  |  |         rushState(); | 
 |  |  | 
 |  |  |             // 生成 1 到 12 之间的随机数字 | 
 |  |  |             int randomNumber = random.nextInt(12) + 1; | 
 |  |  |             AdminDataBean adminDataBean = new AdminDataBean(); | 
 |  |  |             adminDataBean.setSerial(randomNumber + generateUniqueNumber(getSN())); | 
 |  |  |             adminDataBean.setSerial(randomNumber + generateUniqueNumber(DeviceUtils.getSN())); | 
 |  |  |             baseDao.adminDao().insert(adminDataBean); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @SuppressLint("MissingPermission") | 
 |  |  |     public static String getSN() { | 
 |  |  |         String serial = null; | 
 |  |  |         try { | 
 |  |  |             Class<?> c = Class.forName("android.os.SystemProperties"); | 
 |  |  |             Method get = c.getMethod("get", String.class); | 
 |  |  |             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { | 
 |  |  |                 try { | 
 |  |  |                     serial = (String) get.invoke(c, "ro.sunmi.serial"); | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |                 return serial; | 
 |  |  |             } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | 
 |  |  |                 serial = Build.getSerial(); | 
 |  |  |                 return serial; | 
 |  |  |             } else { | 
 |  |  |                 //安卓8以下使用Build.SERIAL相同方式 | 
 |  |  |                 //return Build.SERIAL; | 
 |  |  |                 try { | 
 |  |  |                     serial = (String) get.invoke(c, "ro.serialno"); | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |                 return serial; | 
 |  |  |             } | 
 |  |  |         } catch (ClassNotFoundException e) { | 
 |  |  |             throw new RuntimeException(e); | 
 |  |  |         } catch (NoSuchMethodException e) { | 
 |  |  |             throw new RuntimeException(e); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |