123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.github.wusuopu.RNIdle;
-
- import android.app.Activity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.content.pm.ActivityInfo;
- import android.content.res.Configuration;
- import android.util.Log;
-
- import com.facebook.common.logging.FLog;
- import com.facebook.react.bridge.Arguments;
- import com.facebook.react.bridge.Callback;
- import com.facebook.react.bridge.ReactApplicationContext;
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
- import com.facebook.react.bridge.ReactMethod;
- import com.facebook.react.bridge.WritableMap;
- import com.facebook.react.common.ReactConstants;
- import com.facebook.react.modules.core.DeviceEventManagerModule;
-
- import java.util.HashMap;
- import java.util.Map;
-
- import javax.annotation.Nullable;
-
- public class RNIdleModule extends ReactContextBaseJavaModule {
- public RNIdleModule(ReactApplicationContext reactContext) {
- super(reactContext);
- }
-
- @Override
- public String getName() {
- return "RNIdle";
- }
-
- @ReactMethod
- public void disableIdleTimer() {
- setIdleTimerDisabled(true);
- }
- @ReactMethod
- public void enableIdleTimer() {
- setIdleTimerDisabled(false);
- }
- public void setIdleTimerDisabled(final boolean disabled) {
- final Activity activity = this.getCurrentActivity();
- if (activity != null) {
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- if (disabled) {
- activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- } else {
- activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
- }
- });
- }
- }
- }
|