Java 在React Native中禁用屏幕截图
我知道如果用户坚持,你不能100%阻止他截图。但是我读到,您仍然可以通过在Java中设置Java 在React Native中禁用屏幕截图,java,android,react-native,Java,Android,React Native,我知道如果用户坚持,你不能100%阻止他截图。但是我读到,您仍然可以通过在Java中设置LayoutParams.FLAG\u SECURE来停止手动截图 我尝试将它添加到我的主应用程序文件中,但无论我做什么,getWindow()都会不断抛出错误。因此,我将这行代码移动到MainActivity文件中,它工作正常,没有任何错误 问题是,我仍然可以正常拍摄截图 主要用途: package com.testapp; import android.app.Activity; import com.
LayoutParams.FLAG\u SECURE
来停止手动截图
我尝试将它添加到我的主应用程序文件中,但无论我做什么,getWindow()
都会不断抛出错误。因此,我将这行代码移动到MainActivity文件中,它工作正常,没有任何错误
问题是,我仍然可以正常拍摄截图
主要用途:
package com.testapp;
import android.app.Activity;
import com.reactnativenavigation.NavigationApplication;
import com.facebook.react.modules.i18nmanager.I18nUtil;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import android.support.annotation.Nullable;
/* custom modules */
import com.oblador.vectoricons.VectorIconsPackage;
import org.pgsqlite.SQLitePluginPackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends NavigationApplication {
@Override
public boolean isDebug() {
return BuildConfig.DEBUG;
}
@Nullable
@Override
public List<ReactPackage> createAdditionalReactPackages() {
return Arrays.<ReactPackage>asList(
new SQLitePluginPackage(),
new VectorIconsPackage(),
new RNDeviceInfo()
);
}
@Override
public void onCreate() {
super.onCreate();
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.allowRTL(getApplicationContext(), false);
}
}
我只做了以下操作,它工作正常:
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
setContentView(R.layout.activity_main);
}
}
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
setContentView(R.layout.activity_main);
}
}