如何防止Android或React-Native应用中的屏幕截图

时间:2019-06-15 19:44:14

标签: android react-native screenshot snapshot

如何防止用户在React-Native应用程序中截屏? 我已经阅读了一些其他问题的评论,人们说这行代码可以防止屏幕截图,但是我到底应该在哪里插入它?

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

或者如果还有其他方法,请告诉我。

附注:我有兴趣仅了解Android平台。

1 个答案:

答案 0 :(得分:3)

您需要将其插入MainActivity.java中的MainActivity.java覆盖onCreate方法中。

package com.reactnativepreventscreenshot;

import android.os.Bundle;
import android.view.WindowManager;

import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "reactnativepreventscreenshot";
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    }
}

DEMO