diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java
index b1adeb18..fb9cfb0a 100644
--- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java
+++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java
@@ -1106,6 +1106,7 @@ public class MicroPhotoService extends Service {
*/
}
+
public void enableGps(boolean enabled) {
if (enabled) {
try {
diff --git a/mpmaster/src/main/AndroidManifest.xml b/mpmaster/src/main/AndroidManifest.xml
index 1e11038e..74f77bcb 100644
--- a/mpmaster/src/main/AndroidManifest.xml
+++ b/mpmaster/src/main/AndroidManifest.xml
@@ -13,7 +13,9 @@
-
+
+
+
+
+ android:process=":hotspot" />
schedules = new ArrayList<>();
+// long ts = System.currentTimeMillis() / 1000;
+// long val = 0;
+// val |= ((long) 1 << 16);
+// val |= ((long) 255 << 8);
+// val |= photoOrVideo ? 0L : 1L;
+//
+// schedules.add(Long.valueOf(val));
+//
+// Intent intent1 = new Intent();
+// intent1.setAction(ACTION_TAKE_PHOTO);
+// int cnt = schedules.size();
+// intent1.putExtra(EXTRA_PARAM_SCHEDULES, cnt);
+// for (int idx = 0; idx < cnt; idx++) {
+// intent1.putExtra(EXTRA_PARAM_SCHEDULE + idx, schedules.get(idx).longValue());
+// }
+// intent1.putExtra(EXTRA_PARAM_TIME, 0);
+// intent1.putExtra(EXTRA_PARAM_TAKING_TIME, ts);
+// sendBroadcast(intent1);
+
+
+// UpdateSysConfigUtil.getScheduless(1);
+ byte[] bytes = {1, 1, 2, 0, 0, 0, 23, 59};
+ String photoSchedules = UpdateSysConfigUtil.getPhotoSchedules(1);
+
+ byte[] decode = Base64.getDecoder().decode(photoSchedules);
+ System.out.println(decode);
+
+ }
+ });
+
+ /*
+ mHandler.postDelayed(new Runnable() {
+ public void run() {
+ // HotspotManager.enableHotspot(getApplicationContext(), false);
+ // SysApi.openHotSpot(getApplicationContext());
+ }
+ }, 5000);
+
+ */
+
+
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int id = item.getItemId();
+ //当点击不同的menu item 是执行不同的操作
+ switch (id) {
+ case android.R.id.home:
+ {
+ finish();
+ return false;
+ }
+ // break;
+ default:
+ break;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+}
\ No newline at end of file
diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java
index 955b4890..02f9a6d5 100644
--- a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java
+++ b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java
@@ -15,6 +15,8 @@ import android.os.Handler;
import android.os.StrictMode;
import android.text.TextUtils;
import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
import android.widget.Switch;
import android.widget.TextView;
@@ -62,183 +64,6 @@ public class MainActivity extends AppCompatActivity {
MicroPhotoContext.AppConfig appConfig = MicroPhotoContext.getMpAppConfig(getApplicationContext());
((TextView) findViewById((R.id.cmdid))).setText(TextUtils.isEmpty(appConfig.cmdid) ? "" : appConfig.cmdid);
- findViewById(R.id.btnEnableCam3V3).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setCam3V3Enable(true);
- }
- });
-
- findViewById(R.id.btnDisableCam3V3).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setCam3V3Enable(false);
- }
- });
-
- findViewById(R.id.btnTurnOtgOn).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setOtgState(true);
- }
- });
-
- findViewById(R.id.btnTurnOtgOff).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setOtgState(false);
- }
- });
-
- findViewById(R.id.nrsec).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setSpiPowerOn(true);
- }
- });
-
- findViewById(R.id.btnTurnAppOn).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // SysApi.enableApp(v.getContext(), "abcd1234");
-
-
- }
- });
-
- findViewById(R.id.btnRestartMpAPP).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- MicroPhotoContext.restartMpApp(getApplicationContext());
- }
- });
-
- /*
- findViewById(R.id.btnTurn485On).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.setRS485Enable(true);
- SysApi.set12VEnable(true);
- }
- });
-
- findViewById(R.id.btnTurn485Off).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- SysApi.set12VEnable(false);
- SysApi.setRS485Enable(false);
- }
- });
-
- Switch sw = (Switch) findViewById(R.id.btn485ReadMode);
- sw.setChecked(true);
- findViewById(R.id.btn485ReadMode).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Switch sw = (Switch) view;
- if (sw.isChecked()) {
- SysApi.set485ReadMode();
- } else {
- SysApi.set485WriteMode();
- }
- }
- });
-
- */
-
- findViewById(R.id.sendsms).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
-// boolean gpsEnabled = LocationUtil.isGpsEnabled(MainActivity.this);
-// System.out.printf("g" + gpsEnabled);
-// LocationUtil.register(MainActivity.this, 0, 0, new LocationUtil.OnLocationChangeListener() {
-// @Override
-// public void getLastKnownLocation(Location location) {
-// Log.e("xyh", "onLocationChanged: " + location.getLatitude());
-// }
-//
-// @Override
-// public void onLocationChanged(Location location) {
-// //位置信息变化时触发
-// Log.e("xyh", "定位方式:" + location.getProvider());
-// Log.e("xyh", "纬度:" + location.getLatitude());
-// Log.e("xyh", "经度:" + location.getLongitude());
-// Log.e("xyh", "海拔:" + location.getAltitude());
-// Log.e("xyh", "时间:" + location.getTime());
-// Log.e("xyh", "国家:" + LocationUtil.getCountryName(MainActivity.this, location.getLatitude(), location.getLongitude()));
-// Log.e("xyh", "获取地理位置:" + LocationUtil.getAddress(MainActivity.this, location.getLatitude(), location.getLongitude()));
-// Log.e("xyh", "所在地:" + LocationUtil.getLocality(MainActivity.this, location.getLatitude(), location.getLongitude()));
-// Log.e("xyh", "所在街道:" + LocationUtil.getStreet(MainActivity.this, location.getLatitude(), location.getLongitude()));
-// LocationUtil.unregister();
-//
-// }
-//
-// @Override
-// public void onStatusChanged(String provider, int status, Bundle extras) {
-// System.out.println("dfsad");
-// }
-// });
-
-// SysApi.reboot(MainActivity.this);
-
-// DownloadUtils downloadUtils = new DownloadUtils(getApplicationContext(), "http://180.166.218.222:40101/upgrades/20240509_upd_663c857dbfcf7.apk", "test.apk");
-
-// ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
-// manager.restartPackage(context.getPackageName());
-// String ACTION_UPDATE_CONFIGS = "com.xypower.mpapp.ACT_UPD_CFG";
-// Intent intent = new Intent();
-// intent.setAction(ACTION_UPDATE_CONFIGS);
-// intent.putExtra("restart", 1);
-// // PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
-// sendBroadcast(intent);
-//// LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
-//// localBroadcastManager.sendBroadcast(intent);
-
-
-// boolean photoOrVideo;
-// photoOrVideo = true;
-// List schedules = new ArrayList<>();
-// long ts = System.currentTimeMillis() / 1000;
-// long val = 0;
-// val |= ((long) 1 << 16);
-// val |= ((long) 255 << 8);
-// val |= photoOrVideo ? 0L : 1L;
-//
-// schedules.add(Long.valueOf(val));
-//
-// Intent intent1 = new Intent();
-// intent1.setAction(ACTION_TAKE_PHOTO);
-// int cnt = schedules.size();
-// intent1.putExtra(EXTRA_PARAM_SCHEDULES, cnt);
-// for (int idx = 0; idx < cnt; idx++) {
-// intent1.putExtra(EXTRA_PARAM_SCHEDULE + idx, schedules.get(idx).longValue());
-// }
-// intent1.putExtra(EXTRA_PARAM_TIME, 0);
-// intent1.putExtra(EXTRA_PARAM_TAKING_TIME, ts);
-// sendBroadcast(intent1);
-
-
-// UpdateSysConfigUtil.getScheduless(1);
- byte[] bytes = {1, 1, 2, 0, 0, 0, 23, 59};
- String photoSchedules = UpdateSysConfigUtil.getPhotoSchedules(1);
-
- byte[] decode = Base64.getDecoder().decode(photoSchedules);
- System.out.println(decode);
-
- }
- });
-
- /*
- mHandler.postDelayed(new Runnable() {
- public void run() {
- // HotspotManager.enableHotspot(getApplicationContext(), false);
- // SysApi.openHotSpot(getApplicationContext());
- }
- }, 5000);
-
- */
-
-
startMicroPhotoService(getApplicationContext());
}
@@ -286,5 +111,36 @@ public class MainActivity extends AppCompatActivity {
return super.onKeyDown(keyCode, event);
}
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.menu_main, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int id = item.getItemId();
+ //当点击不同的menu item 是执行不同的操作
+ switch (id) {
+ case R.id.action_dashboard: {
+ Intent intent = new Intent(getApplicationContext(), DashboardActivity.class);
+ startActivity(intent);
+ }
+ break;
+ case R.id.action_reboot_mp:{
+ MicroPhotoContext.restartMpApp(getApplicationContext());
+ }
+ break;
+ case R.id.action_reboot_mpmst:{
+ MpMasterService.restartApp(getApplicationContext());
+ }
+ break;
+ default:
+ break;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
}
\ No newline at end of file
diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java
index 8f582063..90ac8dbc 100644
--- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java
+++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java
@@ -982,6 +982,15 @@ public class MpMasterService extends Service {
return 0;
}
+ public static void restartApp(Context context) {
+ Intent intent = new Intent(context, MainActivity.class);
+
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ context.startActivity(intent);
+
+ System.exit(0);
+ }
+
public native static int getInt(int cmd);
public native static int setInt(int cmd, int val);
public native static int[] getStats(long ts);
diff --git a/mpmaster/src/main/res/layout/activity_dashboard.xml b/mpmaster/src/main/res/layout/activity_dashboard.xml
new file mode 100644
index 00000000..4cd751d4
--- /dev/null
+++ b/mpmaster/src/main/res/layout/activity_dashboard.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mpmaster/src/main/res/layout/activity_main.xml b/mpmaster/src/main/res/layout/activity_main.xml
index 10d49e3f..a6194e94 100644
--- a/mpmaster/src/main/res/layout/activity_main.xml
+++ b/mpmaster/src/main/res/layout/activity_main.xml
@@ -17,110 +17,5 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/mpmaster/src/main/res/menu/menu_main.xml b/mpmaster/src/main/res/menu/menu_main.xml
new file mode 100644
index 00000000..74ebacaf
--- /dev/null
+++ b/mpmaster/src/main/res/menu/menu_main.xml
@@ -0,0 +1,24 @@
+
+
\ No newline at end of file
diff --git a/mpmaster/src/main/res/values/strings.xml b/mpmaster/src/main/res/values/strings.xml
index 1e9a0657..5ff2b243 100644
--- a/mpmaster/src/main/res/values/strings.xml
+++ b/mpmaster/src/main/res/values/strings.xml
@@ -1,5 +1,7 @@
运维APP
Notification Name
-
+ 操作区
+ 重启MpAPP
+ 重启运维APP
\ No newline at end of file