diff --git a/app/build.gradle b/app/build.gradle index 53ef2e9..88f6219 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -98,7 +98,8 @@ dependencies { implementation files('libs\\toolbox_kit.jar')//灰度主板 罗湖寻车机 implementation files('libs\\shockman.jar')//指路机 implementation files('libs/signway.jar') //欣威视通 - implementation files('libs\\sdkapi.jar') //Bv-3588 + implementation files('libs\\sdkapi.jar') //Bv-3588 + implementation files('libs\\smdt.jar') //视美泰 testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/app/libs/smdt.jar b/app/libs/smdt.jar new file mode 100644 index 0000000..ccfad1f Binary files /dev/null and b/app/libs/smdt.jar differ diff --git a/app/src/main/java/qianmu/container/activity/BaseActivity.java b/app/src/main/java/qianmu/container/activity/BaseActivity.java index 3cb1874..f0bac26 100644 --- a/app/src/main/java/qianmu/container/activity/BaseActivity.java +++ b/app/src/main/java/qianmu/container/activity/BaseActivity.java @@ -1,5 +1,6 @@ package qianmu.container.activity; +import android.app.smdt.SmdtManagerNew; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -270,6 +271,10 @@ public abstract class BaseActivity extends AppCompatActivity { // 开启背景音乐 stopService(new Intent(this, MusicService.class));// 背景音乐 } + + if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setDaemonsActivity(this.getPackageName(),3600000,true); + } try { Thread.sleep(1000); diff --git a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java index d99aa41..8cc3950 100644 --- a/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java +++ b/app/src/main/java/qianmu/container/activity/H5/UpdateFileActivity.java @@ -250,6 +250,10 @@ public class UpdateFileActivity extends BaseActivity { //新版欣威视通初始化 SdkApi.newInstance(this); } + //设置开机自启应用 + if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setSystemBootApp(MyApplication.getInstance().getPackageName()); + } } @Override diff --git a/app/src/main/java/qianmu/container/app/Constant.java b/app/src/main/java/qianmu/container/app/Constant.java index 6fc576f..99663df 100644 --- a/app/src/main/java/qianmu/container/app/Constant.java +++ b/app/src/main/java/qianmu/container/app/Constant.java @@ -30,7 +30,8 @@ public class Constant { // public static String androidBoardType = "sx"; //设备板子型号 sx(视想) // public static String androidBoardType = "nova"; //设备板子型号 诺瓦盒子 华贸LED // public static String androidBoardType = "huidu"; //设备板子型号 huidu(灰度主板) 罗湖寻车机 - public static String androidBoardType = "bv"; // Bv-3588M + // public static String androidBoardType = "bv"; //设备板子型号 Bv-3588M + public static String androidBoardType = "smt"; //设备板子型号 视美泰 public static String whoActivity = ""; // 哪个activity页面 // 本地缓存地址 diff --git a/app/src/main/java/qianmu/container/app/MyApplication.java b/app/src/main/java/qianmu/container/app/MyApplication.java index 0b75a63..0e78a64 100644 --- a/app/src/main/java/qianmu/container/app/MyApplication.java +++ b/app/src/main/java/qianmu/container/app/MyApplication.java @@ -2,6 +2,7 @@ package qianmu.container.app; import android.app.Application; import android.app.Service; +import android.app.smdt.SmdtManagerNew; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -49,6 +50,7 @@ public class MyApplication extends Application { public static long lastClickTime = 0;//最后点击时间 public static int clickTimes = 0;//累计点击次数 private Lztek lztek=null; + private SmdtManagerNew smdt = null; public SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); @@ -70,6 +72,10 @@ public class MyApplication extends Application { if(Constant.androidBoardType.equals("ys")){ lztek = Lztek.create(this.getBaseContext()); } + if(Constant.androidBoardType.equals("smt")){ + smdt = SmdtManagerNew.getInstance(this); + smdt.sys_setDaemonsActivity(this.getPackageName(),2000,true); + } // refWatcher = LeakCanary.install(this); } @@ -80,6 +86,13 @@ public class MyApplication extends Application { return lztek; } + public SmdtManagerNew getSmdt() { + if(smdt == null){ + smdt = SmdtManagerNew.getInstance(this); + } + return smdt; + } + //初始化页面路由框架 private void initARouter() { try { diff --git a/app/src/main/java/qianmu/container/data/PowerData.java b/app/src/main/java/qianmu/container/data/PowerData.java index 4feb149..e122534 100644 --- a/app/src/main/java/qianmu/container/data/PowerData.java +++ b/app/src/main/java/qianmu/container/data/PowerData.java @@ -1,5 +1,6 @@ package qianmu.container.data; +import android.app.smdt.SmdtManagerNew; import android.util.Log; import com.google.gson.Gson; @@ -263,6 +264,15 @@ public class PowerData extends BaseData { } } + }else if(Constant.androidBoardType.equals("smt")){ + //视美泰 + SmdtManagerNew smdt = MyApplication.getInstance().getSmdt(); + int on_hour = Integer.parseInt(on2[0]); + int on_min = Integer.parseInt(on2[1]); + int off_hour = Integer.parseInt(off[0]); + int off_min = Integer.parseInt(off[1]); + int[] week = new int[]{1,1,1,1,1,1,1}; + smdt.sys_setAutoPowerOnOff(true, week, on_hour, on_min, off_hour, off_min); }else if(Constant.androidBoardType.equals("sx")){ //视想 int[] timeoffArray = {Integer.parseInt(date[0]), Integer.parseInt(date[1]), Integer.parseInt(date[2]), Integer.parseInt(off[0]), Integer.parseInt(off[1])}; diff --git a/app/src/main/java/qianmu/container/util/SignWayUtil.java b/app/src/main/java/qianmu/container/util/SignWayUtil.java index cf809e1..74d07d1 100644 --- a/app/src/main/java/qianmu/container/util/SignWayUtil.java +++ b/app/src/main/java/qianmu/container/util/SignWayUtil.java @@ -1,7 +1,9 @@ package qianmu.container.util; +import android.app.smdt.SmdtManagerNew; import android.content.Intent; import android.os.Build; +import android.os.RemoteException; import android.os.signwaymanager.SignwayManager; import android.util.Log; @@ -42,10 +44,11 @@ public class SignWayUtil { }else if(Constant.androidBoardType.equals("sx")){ Intent intent = new Intent("android.intent.action.shutdown"); MyApplication.getInstance().sendBroadcast(intent); - }else if(Constant.androidBoardType.equals("bv")){ //系统签名 http://47.107.162.209:19090 MyApplication.getInstance().getLztek().hardShutdown(); + }else if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setPowerOff(); }else if(Constant.androidBoardType.equals("zc")){ zcapi zcApi=new zcapi(); zcApi.getContext(MyApplication.getInstance()); @@ -76,6 +79,8 @@ public class SignWayUtil { }else if(Constant.androidBoardType.equals("ys")){ MyManager manager = MyManager.getInstance(MyApplication.getInstance()); manager.reboot(); + }else if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setReboot(); }else if(Constant.androidBoardType.equals("sx")){ Intent intent = new Intent("android.intent.action.reboot"); MyApplication.getInstance().sendBroadcast(intent); @@ -117,6 +122,16 @@ public class SignWayUtil { MyManager manager = MyManager.getInstance(MyApplication.getInstance()); boolean success = manager.silentInstallApk(path,true); LoggerUtil.e("SignwayUtil", "app安装结果:"+success); + }else if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setAutoInstallEnable(true); + SmdtManagerNew smdt = MyApplication.getInstance().getSmdt(); + smdt.sys_doSilentInstallApp(path, new SmdtManagerNew.InstallCallback() { + @Override + public void onInstallFinished(String packageName, int returnCode, String msg) throws RemoteException { + LoggerUtil.e("SignwayUtil", "app安装结果:"+msg); + } + }); + }else if(Constant.androidBoardType.equals("sx")){ Intent intent = new Intent("android.intent.action.apkinstall"); intent.putExtra("path",path); @@ -351,8 +366,10 @@ public class SignWayUtil { MyManager manager = MyManager.getInstance(MyApplication.getInstance()); manager.hideNavBar(!type); manager.hideStatusBar(type); + }else if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().disp_setStatusBar(type); + MyApplication.getInstance().getSmdt().disp_setNavigationBar(type); }else if(Constant.androidBoardType.equals("sx")){ - Intent intent = new Intent("rk.android.remove_navigationbar"); MyApplication.getInstance().sendBroadcast(intent); }else if(Constant.androidBoardType.equals("bv")){ @@ -399,6 +416,13 @@ public class SignWayUtil { }else if(Constant.androidBoardType.equals("bv")){ //系统签名 http://47.107.162.209:19090 MyApplication.getInstance().getLztek().getEthMac(); + }else if(Constant.androidBoardType.equals("smt")){ + String type = MyApplication.getInstance().getSmdt().net_getCurrentNetType(); + if(type.equals("WIFI")){ + MyApplication.getInstance().getSmdt().net_getMacAddress("wlan0"); + }else if(type.equals("ETH")){ + MyApplication.getInstance().getSmdt().net_getMacAddress("eth0"); + } }else if(Constant.androidBoardType.equals("zc")){ zcapi zcApi=new zcapi(); zcApi.getContext(MyApplication.getInstance()); @@ -490,6 +514,8 @@ public class SignWayUtil { return "诺瓦"+Build.MODEL+",Android"+getAndroidVersion(); }else if(Constant.androidBoardType.equals("bv")){ return "BV-"+Build.MODEL+",Android"+getAndroidVersion(); + }else if(Constant.androidBoardType.equals("smt")){ + return "视美泰-"+Build.MODEL+",Android"+getAndroidVersion(); }else if(Constant.androidBoardType.equals("huidu")){ return "灰度"+Build.MODEL+",Android"+getAndroidVersion(); }else { @@ -533,7 +559,6 @@ public class SignWayUtil { if(Constant.androidBoardType.equals("xwst")){ SignwayManager signwayManager = SignwayManager.getInstance(MyApplication.getInstance()); signwayManager.setTime(Integer.parseInt(timesplit[0]),Integer.parseInt(timesplit[1]),Integer.parseInt(timesplit[2]),Integer.parseInt(timesplit[3]),Integer.parseInt(timesplit[4])); - }if(Constant.androidBoardType.equals("xwst2")){ SdkApi.getInstance().SystemTime().setSystemTime(date.getTime()); }else if(Constant.androidBoardType.equals("ys")) { @@ -542,6 +567,9 @@ public class SignWayUtil { }else if(Constant.androidBoardType.equals("bv")){ //系统签名 http://47.107.162.209:19090 MyApplication.getInstance().getLztek().setSystemTime(date.getTime()); + }else if(Constant.androidBoardType.equals("smt")){ + MyApplication.getInstance().getSmdt().sys_setTimeZone("Asia/Shanghai"); + MyApplication.getInstance().getSmdt().sys_setTime(date.getTime()); }else if(Constant.androidBoardType.equals("zc")) { zcapi zcApi=new zcapi(); zcApi.getContext(MyApplication.getInstance());