>  Q&A  >  본문

java - 安卓实现熄屏功能。

在APP中定义一个时间(假设为5分钟),记录两次操作APP之间的时间间隔,如果大于之前定义的时间,则APP端实现发出命令,手机屏幕熄灭。该功能要如何实现?

迷茫迷茫2716일 전656

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-18 10:55:12

    첫 번째 포인트는 잠금화면 기능입니다. https://github.com/chniccs/Lo...
    이 작은 프로젝트는 잠금화면 기능을 소량으로 구현한 것입니다. 코드.

    또 다른 요점은 각 작업을 어떻게 정의하는지 확인하는 것입니다. 여기서는 활동을 전경에 표시하는 것이 작업으로 간주되도록 터치 리스너를 다시 작성하여 일부 터치 작업을 작업으로 정의할 수도 있습니다.
    1. BaseActivity를 작성하고 onResume에서 지연된 메시지(브로드캐스트 또는 기타 핸들러)를 보내고(여기서는 작업을 나타내는 데 사용됨) 현재 시간을 기록합니다(사용자 지정 애플리케이션이나 전역 싱글톤 또는 지속성 저장소에 저장됨). )
    2. 브로드캐스트 등 지연된 메시지를 보내는 이전 방법에 따라 브로드캐스트 메시지를 수신한 후 현재 시간 값을 1단계에서 기록된 시간 값과 비교하여 정의된 시간 값보다 작은 경우, 그러면 두 시간 값(저장된 값과 현재 값)의 차이가 다시 지연으로 간주되어 방송이 전송됩니다. 다음에 방송이 수신되면 다시 판단하여 시간 값보다 크거나 같으면 잠금 화면이 호출됩니다.

    설명: 2단계에서 고정 지연 브로드캐스트를 다시 보내는 대신 차이를 감수해야 하는 이유는 브로드캐스트를 처음 보낸 후 일부 작업을 수행할 수 있기 때문입니다. 즉, 지연된 방송을 수신한 경우 마지막 작업 시간은 방송이 전송되었을 때 기록된 시간이 아니라 실제 마지막 작업 시간이 됩니다. 따라서 기록된 시간 값은 각 작업 후에 업데이트되어야 합니다.

    차이 계산: 고정된 최대 무작동 시간 정의 - (현재 시간 - 마지막 작동 시간)

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:55:12

    Handler의 postDelayed(Runnable, long) 메소드 채택
    1. Handler 클래스 정의

    으아아아

    2. 타이머 시작

    으아아아

    3. 타이머를 중지하세요

    으아아아

    아마도 그렇게 할 것입니다. 시간에 따라 결정하세요.

    회신하다
    0
  • 취소회신하다