diff --git a/app/src/main/java/com/xypower/mpapp/AppMaster.java b/app/src/main/java/com/xypower/mpapp/AppMaster.java index c475586f..6b0bccc8 100644 --- a/app/src/main/java/com/xypower/mpapp/AppMaster.java +++ b/app/src/main/java/com/xypower/mpapp/AppMaster.java @@ -42,7 +42,10 @@ public class AppMaster { @Override protected void finalize() { - mWakelock.release(); + if (mWakelock != null) { + mWakelock.release(); + mWakelock = null; + } mService = null; } diff --git a/app/src/main/java/com/xypower/mpapp/BootBroadcastReceiver.java b/app/src/main/java/com/xypower/mpapp/BootBroadcastReceiver.java index 33e6ddc4..6c0adede 100644 --- a/app/src/main/java/com/xypower/mpapp/BootBroadcastReceiver.java +++ b/app/src/main/java/com/xypower/mpapp/BootBroadcastReceiver.java @@ -1,8 +1,10 @@ package com.xypower.mpapp; +import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.util.Log; public class BootBroadcastReceiver extends BroadcastReceiver { private static final String ACTION = "android.intent.action.BOOT_COMPLETED"; @@ -15,12 +17,24 @@ public class BootBroadcastReceiver extends BroadcastReceiver { if (ACTION.equals(intent.getAction())) { // Log.e("接收广播", "onReceive: 启动了。。。"); + Log.i("BootBroadcastReceiver", "Start MainActivity"); + + /* Intent mainIntent = new Intent(context, MainActivity.class); mainIntent.putExtra("reboot", 1); - /** - * Intent.FLAG_ACTIVITY_NEW_TASK - * Intent.FLAG_ACTIVITY_CLEAR_TOP + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); + try { + pendingIntent.send(); + } catch (PendingIntent.CanceledException e) { + e.printStackTrace(); + } */ + + Intent mainIntent = new Intent(context, MainActivity.class); + mainIntent.putExtra("reboot", 1); + //Intent.FLAG_ACTIVITY_NEW_TASK + // Intent.FLAG_ACTIVITY_CLEAR_TOP mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mainIntent); diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java index a9f14973..c10f3a8b 100644 --- a/app/src/main/java/com/xypower/mpapp/MainActivity.java +++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java @@ -211,8 +211,6 @@ public class MainActivity extends AppCompatActivity { int width = defaultDisplay.getWidth(); int height = defaultDisplay.getHeight(); - Log.d(TAG, "Screen Size: " + width + " x " + height); - Intent intent = getIntent(); final int noDelay = intent.getIntExtra("noDelay", 0); int rebootFlag = intent.getIntExtra("reboot", 0); @@ -220,6 +218,8 @@ public class MainActivity extends AppCompatActivity { // SysApi.enableAirPlane(MainActivity.this, true); } + Log.d(TAG, "MainActivity: reboot=" + rebootFlag + " noDelay=" + noDelay); + String cmdid = ""; String server = ""; Integer port = new Integer(6891); diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java index 11a2722f..66cb19ad 100644 --- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java +++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java @@ -53,7 +53,7 @@ import java.util.List; import java.util.Map; public class MicroPhotoService extends Service { - public static final String TAG = "MPService"; + public static final String TAG = "MPLOG"; // Used to load the 'microphoto' library on application startup. static { @@ -865,6 +865,7 @@ public class MicroPhotoService extends Service { startActivity(LaunchIntent); } else { + Log.w(TAG, "Recv REBOOT command"); SysApi.reboot(getApplicationContext()); } }