我有两个问题:
用户将设置时间,例如:从我的应用程序开始 15 分钟,当时间到时,将出现一个带有 2 个按钮的图像,覆盖整个屏幕 5 秒。然后用户可以从这里选择确定或忽略按钮。无论用户当前正在运行什么,此屏幕都会出现并显示在顶部。
当上述屏幕出现时,我可以通过代码禁用电源按钮吗?
问候
我有两个问题:
用户将设置时间,例如:从我的应用程序开始 15 分钟,当时间到时,将出现一个带有 2 个按钮的图像,覆盖整个屏幕 5 秒。然后用户可以从这里选择确定或忽略按钮。无论用户当前正在运行什么,此屏幕都会出现并显示在顶部。
当上述屏幕出现时,我可以通过代码禁用电源按钮吗?
问候
关于你的第一个问题:是的,这是可能的。您需要获得android.permission.SYSTEM_ALERT_WINDOW
许可。基本上,您需要做的是获取 WindowManager 的实例并向其添加视图:
windowManager = null;
try {
windowManager = (WindowManager) Class
.forName("android.view.WindowManagerImpl")
.getMethod("getDefault", new Class[0])
.invoke(null, new Object[0]);
} catch (Exception ex) {
Log.e("bla", "Error getting WindowManager", ex);
}
windowManager.addView(yourView, layoutParams);
有关更多信息,请查看此处的来源。
完全禁用电源按钮是不可能的。您可以请求完整的 WakeLock,这样设备就不会入睡。