优化代码,以及打开usb后等待2s

serial
BlueMatthew 1 year ago
parent 8ff0e3c272
commit fb10b32cf1

@ -229,7 +229,7 @@ public class MainActivity extends AppCompatActivity {
binding.logs.setText(""); binding.logs.setText("");
MicroPhotoContext.AppConfig curAppConfig = retrieveAndSaveAppConfig(); MicroPhotoContext.AppConfig curAppConfig = retrieveAndSaveAppConfig();
startMicroPhotoService(MainActivity.this, appConfig, mMessenger); startMicroPhotoService(MainActivity.this.getApplicationContext(), appConfig, mMessenger);
binding.btnStartServ.setEnabled(false); binding.btnStartServ.setEnabled(false);
binding.btnStopServ.setEnabled(true); binding.btnStopServ.setEnabled(true);
@ -441,7 +441,7 @@ public class MainActivity extends AppCompatActivity {
binding.btnRestartApp.setOnClickListener(new View.OnClickListener() { binding.btnRestartApp.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Context context = v.getContext(); Context context = v.getContext().getApplicationContext();
MicroPhotoService.restartApp(context, context.getPackageName()); MicroPhotoService.restartApp(context, context.getPackageName());
} }
}); });
@ -476,22 +476,24 @@ public class MainActivity extends AppCompatActivity {
public void onClick(View view) { public void onClick(View view) {
SysApi.setOtgState(true); SysApi.setOtgState(true);
try { // SysApi.setOtgState(true);
Thread.sleep(100);
} catch (Exception e) {
}
SysApi.setOtgState(true);
SysApi.setCam3V3Enable(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); Toast.makeText(view.getContext(), cameraInfo, Toast.LENGTH_LONG).show();
SysApi.setOtgState(false); }
};
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) { private void takePhoto(int channel, int preset, boolean photoOrVideo) {
MicroPhotoService.takePhoto(this, channel, preset, photoOrVideo); MicroPhotoService.takePhoto(this.getApplicationContext(), channel, preset, photoOrVideo);
} }
@Override @Override

@ -183,10 +183,10 @@ public class MicroPhotoService extends Service {
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_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) { while (true) {
AlarmManager.AlarmClockInfo aci = alarmManager.getNextAlarmClock(); AlarmManager.AlarmClockInfo aci = alarmManager.getNextAlarmClock();
@ -222,8 +222,8 @@ public class MicroPhotoService extends Service {
} }
getApplicationContext().unregisterReceiver(mAlarmReceiver); getApplicationContext().unregisterReceiver(mAlarmReceiver);
unregisterReceiver(mScreenaAtionReceiver); getApplicationContext().unregisterReceiver(mScreenaAtionReceiver);
unregisterReceiver(mNetworkChangedReceiver); getApplicationContext().unregisterReceiver(mNetworkChangedReceiver);
for(Map.Entry<String, PowerManager.WakeLock> entry : mWakeLocks.entrySet()) { for(Map.Entry<String, PowerManager.WakeLock> entry : mWakeLocks.entrySet()) {
try { try {
@ -425,7 +425,7 @@ public class MicroPhotoService extends Service {
for (int idx = 0; idx < cnt; idx++) { for (int idx = 0; idx < cnt; idx++) {
long val = schedules.get(idx).longValue(); long val = schedules.get(idx).longValue();
alarmIntent.putExtra(EXTRA_PARAM_SCHEDULE + idx, 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); alarmIntent.putExtra(EXTRA_PARAM_TIME, scheduleTime);
@ -443,7 +443,7 @@ public class MicroPhotoService extends Service {
long currentTimeMillis = System.currentTimeMillis(); long currentTimeMillis = System.currentTimeMillis();
Date date = new Date(currentTimeMillis + timeout); Date date = new Date(currentTimeMillis + timeout);
String dateStr = (String) DateFormat.format("MM-dd kk:mm:ss", date); 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); alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeout, pendingIntent);
} }
@ -558,16 +558,19 @@ public class MicroPhotoService extends Service {
// if(Build.VERSION.SDK_INT >= 26) { // if(Build.VERSION.SDK_INT >= 26) {
// alarmIntent.addFlags(0x01000000); // 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); 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); // context.sendBroadcast(alarmIntent);
// LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context); // LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
// localBroadcastManager.sendBroadcast(alarmIntent); // localBroadcastManager.sendBroadcast(alarmIntent);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); // AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent); // alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent);
} }
@Override @Override
@ -587,7 +590,7 @@ public class MicroPhotoService extends Service {
connect(); connect();
registerReceiver(mScreenaAtionReceiver, mScreenaAtionReceiver.getFilter()); getApplicationContext().registerReceiver(mScreenaAtionReceiver, mScreenaAtionReceiver.getFilter());
if (intent.hasExtra("messenger")) { if (intent.hasExtra("messenger")) {
mMessenger = intent.getParcelableExtra("messenger"); mMessenger = intent.getParcelableExtra("messenger");
} }
@ -643,7 +646,7 @@ public class MicroPhotoService extends Service {
break; break;
case ACTION_STOP: case ACTION_STOP:
try { try {
unregisterReceiver(mScreenaAtionReceiver); getApplicationContext().unregisterReceiver(mScreenaAtionReceiver);
} catch (Exception ex) { } catch (Exception ex) {
} }
@ -721,9 +724,9 @@ public class MicroPhotoService extends Service {
alarmIntent.setPackage(context.getPackageName()); alarmIntent.setPackage(context.getPackageName());
alarmIntent.setAction(ACTION_STOP); 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); alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 100, pendingIntent);
} }
@ -739,7 +742,7 @@ public class MicroPhotoService extends Service {
mNativeHandle = 0; mNativeHandle = 0;
try { try {
unregisterReceiver(mScreenaAtionReceiver); getApplicationContext().unregisterReceiver(mScreenaAtionReceiver);
} catch (Exception ex) { } catch (Exception ex) {
} }

Loading…
Cancel
Save