Nldmg 2017-01-13 08:37 采纳率: 100%
浏览 2535
已采纳

Android 如何用代码模拟按电源键

现在需要实现手机的熄屏和亮屏,想要知道如何用代码模拟按电源键,来实现这个功能。

  • 写回答

1条回答 默认 最新

  • bluky_di 2017-01-13 08:57
    关注

    你好,和返回按钮监听重写onKeyDown不同。
    这个情况下,你可以使用广播接收器去分别监听Intent.ACTION_SCREEN_OFF和Intent.ACTION_SCREEN_ON开关广播。然后在广播接收器的onReceive方法中去处理具体的逻辑,但是不建议在里面处理逻辑。
    以下给个参考的代码

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);//设置过滤接收的广播
        registerReceiver(myReceiver,filter);//注册广播
    }
    
    BroadcastReceiver myReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
                  if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){//判断接收到的广播
                      Log.i("SCREEN_OFF","power is off~");
                  }
        }
    };
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(myReceiver);//注销广播
    }
    

    }

    纯手打,望采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作