diff --git a/students/net1814080903109/TurnoffScreenActivity.java b/students/net1814080903109/TurnoffScreenActivity.java
index 5e6a7a652..f1743e740 100644
--- a/students/net1814080903109/TurnoffScreenActivity.java
+++ b/students/net1814080903109/TurnoffScreenActivity.java
@@ -2,13 +2,45 @@
import androidx.appcompat.app.AppCompatActivity;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
+import android.os.SystemClock;
+import android.view.View;
public class TurnoffScreenActivity extends AppCompatActivity {
+ ComponentName mAdminName;
+ DevicePolicyManager mDPM;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.turnoffscreen);
+
+ mAdminName = new ComponentName(this, AdminManageReceiver.class);
+ mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+
+ //如果设备管理器尚未激活,这里会启动一个激活设备管理器的Intent,具体的表现就是第一次打开程序时,手机会弹出激活设备管理器的提示,激活即可。
+ if (!mDPM.isAdminActive(mAdminName)) {
+ showAdminManagement(mAdminName);
+ }
+ }
+
+ //执行锁屏
+ public void lockScreen(View view){
+ if (mDPM.isAdminActive(mAdminName)) {
+ mDPM.lockNow();
+ }
+ }
+
+ //激活设备管理器
+ private void showAdminManagement(ComponentName mAdminName) {
+ Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
+ intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName);
+ intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "activity device");
+ startActivityForResult(intent,1);
}
}
\ No newline at end of file
diff --git a/students/net1814080903109/turnoffscreen.xml b/students/net1814080903109/turnoffscreen.xml
index 72a1b24d7..3c6e3d1d7 100644
--- a/students/net1814080903109/turnoffscreen.xml
+++ b/students/net1814080903109/turnoffscreen.xml
@@ -37,19 +37,20 @@
tools:ignore="DuplicateIds,MissingConstraints" />
+ app:layout_constraintVertical_bias="0.458"
+ tools:ignore="DuplicateIds,MissingConstraints,OnClick" />
\ No newline at end of file
diff --git a/students/net1814080903109/xml/device_admin.xml b/students/net1814080903109/xml/device_admin.xml
new file mode 100644
index 000000000..7c4ce1430
--- /dev/null
+++ b/students/net1814080903109/xml/device_admin.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file