Skip to content

Commit cea90de

Browse files
authored
Merge pull request #11 from wilmxre/master
Add isAppInLockTaskMode method
2 parents 8c2f8a0 + f235324 commit cea90de

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

android/src/main/java/com/rnlocktask/RNLockTaskModule.java

+26
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
package com.rnlocktask;
33

44
import android.app.Activity;
5+
import android.app.ActivityManager;
56
import android.app.admin.DevicePolicyManager;
67
import android.content.ComponentName;
78
import android.content.Context;
9+
import android.os.Build;
810

911
import com.facebook.react.bridge.Promise;
1012
import com.facebook.react.bridge.ReactApplicationContext;
@@ -22,6 +24,7 @@ public class RNLockTaskModule extends ReactContextBaseJavaModule {
2224
private static final String LOCKED_TASK = "LOCKED_TASK";
2325
private static final String LOCKED_TASK_AS_OWNER = "LOCKED_TASK_AS_OWNER";
2426
private static final String UNLOCKED_TASK = "UNLOCKED_TASK";
27+
private static final String TAG = "RNLockTaskModule";
2528

2629
public RNLockTaskModule(ReactApplicationContext reactContext) {
2730
super(reactContext);
@@ -32,6 +35,29 @@ public String getName() {
3235
return "RNLockTask";
3336
}
3437

38+
@ReactMethod
39+
public void isAppInLockTaskMode(Promise promise) {
40+
try {
41+
Activity mActivity = getCurrentActivity();
42+
if (mActivity != null) {
43+
ActivityManager activityManager = (ActivityManager) mActivity.getSystemService(Context.ACTIVITY_SERVICE);
44+
45+
// When SDK version is 23
46+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
47+
int lockTaskMode = activityManager.getLockTaskModeState();
48+
promise.resolve(lockTaskMode == ActivityManager.LOCK_TASK_MODE_PINNED);
49+
}
50+
51+
//When SDK version <=21 and <23. This API is deprecated in 23.
52+
else {
53+
promise.resolve(activityManager.isInLockTaskMode());
54+
}
55+
}
56+
} catch (Exception e) {
57+
promise.reject(e);
58+
}
59+
}
60+
3561
@ReactMethod
3662
public void clearDeviceOwnerApp(Promise promise) {
3763
try {

0 commit comments

Comments
 (0)