某些 Android 个应用程序使用
FLAG _ SECURE
标志来保护应用程序中的敏感屏幕
有关详细信息,请参阅AndroidDeveloper 文档
该标志将窗口的内容视为安全内容,防止其显示在屏幕快照中或在不安全的显示器上查看。此外,Chrome 匿名模式和自定义设备制造商设置(例如,在华为公司新设备上启用安全布局的锁屏)也采用安全布局
Android 版本 7- 11: 远程视图支持安全布局个应用程序
Android2 或 Android.0 之前的版本: 不支持安全布局个应用程序。窗口内容将不会显示。将显示一条来自 UFTM 的消息,指出检测到安全窗口。您可以使用“返回/主页”按钮在窗口外导航。要在这些设备上查看安全布局个应用程序
有关详细信息,请参阅 包和 Android 手工个应用程序
以上信息来自UFT Mobile帮助中心Android 安全布局
在Android应用中,开发者可以通过设置特定的标志来指示某个Activity是否可以被截屏
这是通过使用FLAG_SECURE
标志来实现的。当设置了这个标志后,系统会禁止对该Activity进行截屏、录屏等操作,从而保护用户隐私
在Java代码中设置FLAG_SECURE
在Activity启动时动态地设置FLAG_SECURE
在XML布局文件中设置FLAG_SECURE
在创建Activity时就设定这个标志,在AndroidManifest.xml
中为Activity添加属性:
<activity android:name=".YourSecureActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustPan"
android:excludeFromRecents="true"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在Activity启动时动态地设置FLAG_SECURE
在onCreate
方法中添加
假设有一个名为YourSecureActivity
的Activity
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class YourSecureActivity 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_your_secure_activity);}
使用
FLAG_SECURE
标志的应用程序或
Activity也无法通过录屏软件录制
其他
AndroidDeveloper 文档:SecureFlagPolicy安全策略