Android6.0系统上,客户要求按home键以后,需要输入正确密码再响应退出动作
先找到home按键按了以后会执行动作,查找相关资料,当home按键按了以后在frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java会去调用launchHomeFromHotKey()去处理相应的一些操作。这个函数只是调用了launchHomeFromHotKey(true /* awakenFromDreams */, true /*respectKeyguard*/);。所以我们在这个函数调用前去拦截,让用户去输入密码。
具体修改如下:
--- a/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -147,6 +147,14 @@ import android.app.DeviceManager;
import com.example.xc_system.toctl;
import java.util.Timer;
import java.util.TimerTask;
+
+import android.view.inputmethod.EditorInfo;
+import android.widget.EditText;
+import android.widget.Toast;
+import android.content.DialogInterface;
+import androi