当面部在 Android 上关闭屏幕时以编程方式关闭屏幕

编程入门 行业动态 更新时间:2024-10-27 02:26:06
本文介绍了当面部在 Android 上关闭屏幕时以编程方式关闭屏幕的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的应用程序是一个拨号器,当用户将手机靠近他的头时,我需要关闭屏幕并防止点击控件 - 就像原生 Android 拨号器行为一样.我需要什么 API 级别以及如何以正确的方式执行此操作?

My app is a dialer and when user holding the phone near his head I need to turn screen off and prevent clicking on the controls - like native Android dialer behavior. What API level I need and how can I do this in right way?

推荐答案

我通过分解一个非常著名的 VoIP 应用程序找到了解决方案.当您关闭传感器时,按下 button1 后的此活动将禁用屏幕和硬件键.按下按钮 2 后,此功能将关闭.

I found solution by disassembling one very famous VoIP application. This activity after pressing button1 will disable screen and hardware keys when you close sensors. After pressing button2 this function will be switched off.

另外,这个功能需要权限:

Also, this function required permission:

<uses-permission android:name="android.permission.WAKE_LOCK" />

活动.试试吧.

public class MainActivity extends Activity { private Button button1; private Button button2; private PowerManager powerManager; private PowerManager.WakeLock wakeLock; private int field = 0x00000020; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { // Yeah, this is hidden field. field = PowerManager.class.getClass().getField("PROXIMITY_SCREEN_OFF_WAKE_LOCK").getInt(null); } catch (Throwable ignored) { } powerManager = (PowerManager) getSystemService(POWER_SERVICE); wakeLock = powerManager.newWakeLock(field, getLocalClassName()); setContentView(R.layout.main); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(!wakeLock.isHeld()) { wakeLock.acquire(); } } }); button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(wakeLock.isHeld()) { wakeLock.release(); } } }); } }

更多推荐

当面部在 Android 上关闭屏幕时以编程方式关闭屏幕

本文发布于:2023-11-27 01:20:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635981.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:屏幕   面部   方式   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!