From fb10b32cf17fc0e9b8eb2b3e07c54d7a4fffc676 Mon Sep 17 00:00:00 2001 From: BlueMatthew Date: Mon, 15 Jan 2024 13:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=89=93=E5=BC=80usb=E5=90=8E=E7=AD=89?= =?UTF-8?q?=E5=BE=852s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpapp/MainActivity.java | 30 +++++++++-------- .../com/xypower/mpapp/MicroPhotoService.java | 33 ++++++++++--------- 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java index aa858a2a..e13f7289 100644 --- a/app/src/main/java/com/xypower/mpapp/MainActivity.java +++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java @@ -229,7 +229,7 @@ public class MainActivity extends AppCompatActivity { binding.logs.setText(""); MicroPhotoContext.AppConfig curAppConfig = retrieveAndSaveAppConfig(); - startMicroPhotoService(MainActivity.this, appConfig, mMessenger); + startMicroPhotoService(MainActivity.this.getApplicationContext(), appConfig, mMessenger); binding.btnStartServ.setEnabled(false); binding.btnStopServ.setEnabled(true); @@ -441,7 +441,7 @@ public class MainActivity extends AppCompatActivity { binding.btnRestartApp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Context context = v.getContext(); + Context context = v.getContext().getApplicationContext(); MicroPhotoService.restartApp(context, context.getPackageName()); } }); @@ -476,22 +476,24 @@ public class MainActivity extends AppCompatActivity { public void onClick(View view) { SysApi.setOtgState(true); - try { - Thread.sleep(100); - } catch (Exception e) { - - } - SysApi.setOtgState(true); + // SysApi.setOtgState(true); SysApi.setCam3V3Enable(true); + + Runnable runnable = new Runnable() { + @Override + public void run() { + String cameraInfo = CameraUtils.getAllCameraInfo(view.getContext()); - String cameraInfo = CameraUtils.getAllCameraInfo(view.getContext()); + Log.d(TAG, cameraInfo); - Log.d(TAG, cameraInfo); + SysApi.setCam3V3Enable(false); + SysApi.setOtgState(false); - SysApi.setCam3V3Enable(false); - SysApi.setOtgState(false); + Toast.makeText(view.getContext(), cameraInfo, Toast.LENGTH_LONG).show(); + } + }; - Toast.makeText(view.getContext(), cameraInfo, Toast.LENGTH_LONG).show(); + mHandler.postDelayed(runnable, 1500); } }); @@ -522,7 +524,7 @@ public class MainActivity extends AppCompatActivity { } private void takePhoto(int channel, int preset, boolean photoOrVideo) { - MicroPhotoService.takePhoto(this, channel, preset, photoOrVideo); + MicroPhotoService.takePhoto(this.getApplicationContext(), channel, preset, photoOrVideo); } @Override diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java index 2ca5031a..955732fc 100644 --- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java +++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java @@ -183,10 +183,10 @@ public class MicroPhotoService extends Service { filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); - registerReceiver(mNetworkChangedReceiver, filter); + getApplicationContext().registerReceiver(mNetworkChangedReceiver, filter); } - AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); + AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(ALARM_SERVICE); while (true) { AlarmManager.AlarmClockInfo aci = alarmManager.getNextAlarmClock(); @@ -222,8 +222,8 @@ public class MicroPhotoService extends Service { } getApplicationContext().unregisterReceiver(mAlarmReceiver); - unregisterReceiver(mScreenaAtionReceiver); - unregisterReceiver(mNetworkChangedReceiver); + getApplicationContext().unregisterReceiver(mScreenaAtionReceiver); + getApplicationContext().unregisterReceiver(mNetworkChangedReceiver); for(Map.Entry entry : mWakeLocks.entrySet()) { try { @@ -425,7 +425,7 @@ public class MicroPhotoService extends Service { for (int idx = 0; idx < cnt; idx++) { long val = schedules.get(idx).longValue(); alarmIntent.putExtra(EXTRA_PARAM_SCHEDULE + idx, schedules.get(idx).longValue()); - channelStr += "CH=" + ((val & 0XFF0000) >> 16) + "-PR=" + ((val & 0XFF00) >> 8) + " "; + channelStr += "(" + ((val & 0XFF0000) >> 16) + "-" + Long.toString (((val & 0XFF00) >> 8), 16).toUpperCase() + ") "; } alarmIntent.putExtra(EXTRA_PARAM_TIME, scheduleTime); @@ -443,7 +443,7 @@ public class MicroPhotoService extends Service { long currentTimeMillis = System.currentTimeMillis(); Date date = new Date(currentTimeMillis + timeout); String dateStr = (String) DateFormat.format("MM-dd kk:mm:ss", date); - Log.d(TAG, "PhotoTimer Reg: " + dateStr + " currentTimeMillis=" + currentTimeMillis + " timeout=" + timeout + " Channels=" + channelStr); + Log.d(TAG, "PhotoTimer Reg: " + dateStr + " currentTimeMillis=" + currentTimeMillis + " timeout=" + timeout + " CH-PR=" + channelStr); alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeout, pendingIntent); } @@ -558,16 +558,19 @@ public class MicroPhotoService extends Service { // if(Build.VERSION.SDK_INT >= 26) { // alarmIntent.addFlags(0x01000000); //} - alarmIntent.setPackage(context.getPackageName()); + alarmIntent.setComponent(new ComponentName(context.getPackageName(),AlarmReceiver.class.getName())); + // alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + // alarmIntent.setPackage(context.getPackageName()); alarmIntent.setAction(ACTION_HEARTBEAT_MANUALLY); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0); + // PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0); + context.sendBroadcast(alarmIntent); // context.sendBroadcast(alarmIntent); // LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context); // localBroadcastManager.sendBroadcast(alarmIntent); - AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); - alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent); + // AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); + // alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent); } @Override @@ -587,7 +590,7 @@ public class MicroPhotoService extends Service { connect(); - registerReceiver(mScreenaAtionReceiver, mScreenaAtionReceiver.getFilter()); + getApplicationContext().registerReceiver(mScreenaAtionReceiver, mScreenaAtionReceiver.getFilter()); if (intent.hasExtra("messenger")) { mMessenger = intent.getParcelableExtra("messenger"); } @@ -643,7 +646,7 @@ public class MicroPhotoService extends Service { break; case ACTION_STOP: try { - unregisterReceiver(mScreenaAtionReceiver); + getApplicationContext().unregisterReceiver(mScreenaAtionReceiver); } catch (Exception ex) { } @@ -721,9 +724,9 @@ public class MicroPhotoService extends Service { alarmIntent.setPackage(context.getPackageName()); alarmIntent.setAction(ACTION_STOP); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, 0); + PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0, alarmIntent, 0); - AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); + AlarmManager alarmManager = (AlarmManager) context.getApplicationContext().getSystemService(ALARM_SERVICE); alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent); } @@ -739,7 +742,7 @@ public class MicroPhotoService extends Service { mNativeHandle = 0; try { - unregisterReceiver(mScreenaAtionReceiver); + getApplicationContext().unregisterReceiver(mScreenaAtionReceiver); } catch (Exception ex) { }