Javascript 整个react本机应用程序显示在锁屏上

Javascript 整个react本机应用程序显示在锁屏上,javascript,java,android,react-native,Javascript,Java,Android,React Native,我在MainActivity.java上有一个包含以下代码的应用程序: package com.MyApp; 导入com.facebook.react.ReactActivity; 导入com.facebook.react.ReactActivityDelegate; 导入com.facebook.react.ReactRootView; 导入com.swmandence.gesturehandler.react.rngesturehandler启用DrootView; 导入android.vi

我在MainActivity.java上有一个包含以下代码的应用程序:

package com.MyApp;
导入com.facebook.react.ReactActivity;
导入com.facebook.react.ReactActivityDelegate;
导入com.facebook.react.ReactRootView;
导入com.swmandence.gesturehandler.react.rngesturehandler启用DrootView;
导入android.view.Window;
导入android.view.WindowManager;
导入android.os.Bundle;
导入com.MyApp.CustomLockscreenPackage;
公共类MainActivity扩展了ReactActivity{
@凌驾
受保护的字符串getMainComponentName(){
返回“MyApp”;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
windoww=getWindow();
w、 设置标志(
WindowManager.LayoutParams.FLAG\u锁定时显示\u,
WindowManager.LayoutParams.FLAG_锁定时显示
);
}
@凌驾
受保护的ReactActivityDelegate createReactActivityDelegate(){
返回新的ReactActivityDelegate(此,getMainComponentName()){
@凌驾
受保护的ReactRootView createRootView(){
返回新的RNGestureHandlerEnabledRootView(MainActivity.this);
}
};
}
}
使应用程序在锁屏上工作的行包括:

@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
windoww=getWindow();
w、 设置标志(
WindowManager.LayoutParams.FLAG\u锁定时显示\u,
WindowManager.LayoutParams.FLAG_锁定时显示
);
}
但是,整个应用程序在锁屏上工作,我只需要确保某些屏幕在锁屏上工作(这是一个呼叫应用程序)。 我尝试创建一个本机模块,但没有成功。 我知道可以通过以下方式移除旗帜:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG在锁定时显示);
所以,如果我能在我的react原生屏幕上调用这些行,它可能会工作

[编辑]:我制作了一个模块,谁为我做这个:

[编辑]:如何使用我的模块:

首先,安装他:

npm安装--保存https://github.com/willnaoosmit/react-native-keep-visible
(如果你愿意,也可以用纱线)

然后:


您是如何使用自制库解决问题的?我面临着同样的问题,我把它添加到了问题中。如果这个问题有帮助,请把它投上去@如果我在fcm推送通知接收方法中使用它,它会起作用吗?我不知道上下文,甚至不知道你的目标。但是如果您调用
KeepAwake.activate()
它将在锁屏上工作。好的,谢谢您的帮助。您是如何使用自制库解决问题的?我面临着同样的问题,我把它添加到了问题中。如果这个问题有帮助,请把它投上去@如果我在fcm推送通知接收方法中使用它,它会起作用吗?我不知道上下文,甚至不知道你的目标。但是如果您调用
KeepAwake.activate()
它将在锁屏上工作。好的,谢谢您的帮助
import KeepAwake from 'react-native-keep-awake'; #import the module, of course

KeepAwake.activate(); #when you want to use the app on the lockscreen

KeepAwake.deactivate(); #when you dont want to use the app on the lockscreen anymore