You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.7 KiB
Java
76 lines
2.7 KiB
Java
package com.xypower.mpapp;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import android.os.Build;
|
|
import android.util.Log;
|
|
import android.widget.Toast;
|
|
|
|
public class ScreenActionReceiver extends BroadcastReceiver {
|
|
|
|
private String TAG = "ScreenActionReceiver";
|
|
|
|
@Override
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
|
//LOG
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("Action: " + intent.getAction() + "\n");
|
|
// sb.append("URI: " + intent.toUri(Intent.URI_INTENT_SCHEME).toString() + "\n");
|
|
String log = sb.toString();
|
|
Log.d(TAG, log);
|
|
Toast.makeText(context, log, Toast.LENGTH_SHORT).show();
|
|
|
|
String action = intent.getAction();
|
|
try {
|
|
|
|
if (Intent.ACTION_SCREEN_ON.equals(action)) {
|
|
Log.d(TAG, "screen is on...");
|
|
Toast.makeText(context, "screen ON", Toast.LENGTH_SHORT);
|
|
|
|
//Run the locker
|
|
|
|
context.startService(new Intent(context, FloatingWindow.class));
|
|
} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
|
|
Log.d(TAG, "screen is off...");
|
|
Toast.makeText(context, "screen OFF", Toast.LENGTH_SHORT);
|
|
|
|
} else if (Intent.ACTION_USER_PRESENT.equals(action)) {
|
|
Log.d(TAG, "screen is unlock...");
|
|
Toast.makeText(context, "screen UNLOCK", Toast.LENGTH_SHORT);
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
context.startForegroundService(new Intent(context, FloatingWindow.class));
|
|
} else {
|
|
context.startService(new Intent(context, FloatingWindow.class));
|
|
}
|
|
|
|
} else if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
|
|
Log.d(TAG, "boot completed...");
|
|
Toast.makeText(context, "BOOTED..", Toast.LENGTH_SHORT);
|
|
//Run the locker
|
|
/* Intent i = new Intent(context, FloatingWindow.class);
|
|
context.startService(i);
|
|
|
|
*/
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
// context.startForegroundService(new Intent(context, FloatingWindow.class));
|
|
} else {
|
|
// context.startService(new Intent(context, FloatingWindow.class));
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
public IntentFilter getFilter(){
|
|
final IntentFilter filter = new IntentFilter();
|
|
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
|
filter.addAction(Intent.ACTION_SCREEN_ON);
|
|
return filter;
|
|
}
|
|
|
|
} |