这个demo演示的是通过设置secure来实现禁止截屏的功能,从而达到保户内容的目的。
分别演示了Dialog、SurfaceView、Activity三种情况下如何设置secure属性。
代码比较简单:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/bt_dialog"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Secure Dialog"
android:layout_gravity="center_horizontal"/>
<Button
android:id="@+id/bt_view"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Secure Surface View"
android:layout_gravity="center_horizontal"/>
<Button
android:id="@+id/bt_activity"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Secure Window"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
MainActivity
public class MainActivity extends Activity implements OnClickListener {
private Button bt_dialog,bt_view,bt_window;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_dialog=(Button) findViewById(R.id.bt_dialog);
bt_view=(Button) findViewById(R.id.bt_view);
bt_window=(Button) findViewById(R.id.bt_activity);
bt_dialog.setOnClickListener(this);
bt_view.setOnClickListener(this);
bt_window.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_dialog:
showDialogActivity();
break;
case R.id.bt_view:
showViewActivity();
break;
case R.id.bt_activity:
showWindowActivity();
break;
default:
break;
}
}
private void showWindowActivity() {
Intent intent=new Intent(this, WindowActivity.class);
startActivity(intent);
}
private void showViewActivity() {
Intent intent=new Intent(this, ViewActivity.class);
startActivity(intent);
}
private void showDialogActivity() {
Intent intent=new Intent(this, DialogActivity.class);
startActivity(intent);
}
}
activity_view.xml,这里使用了GLSurfaceView,前面已经讲过,所以直接拿过来用的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height