46 lines
1.5 KiB
Java
46 lines
1.5 KiB
Java
package com.rubenvandeven.emotionhero;
|
|
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import android.os.PowerManager;
|
|
|
|
/**
|
|
* For kioskmode only!
|
|
* See http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
|
|
*/
|
|
public class AppContext extends Application {
|
|
private AppContext instance;
|
|
private PowerManager.WakeLock wakeLock;
|
|
private OnScreenOffReceiver onScreenOffReceiver;
|
|
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
instance = this;
|
|
registerKioskModeScreenOffReceiver();
|
|
startKioskService();
|
|
}
|
|
|
|
private void registerKioskModeScreenOffReceiver() {
|
|
// register screen off receiver
|
|
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
|
|
onScreenOffReceiver = new OnScreenOffReceiver();
|
|
registerReceiver(onScreenOffReceiver, filter);
|
|
}
|
|
|
|
public PowerManager.WakeLock getWakeLock() {
|
|
if(wakeLock == null) {
|
|
// lazy loading: first call, create wakeLock via PowerManager.
|
|
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
|
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "wakeup");
|
|
}
|
|
return wakeLock;
|
|
}
|
|
|
|
private void startKioskService() {
|
|
startService(new Intent(this, KioskService.class));
|
|
}
|
|
} |