为了账号安全,请及时绑定邮箱和手机立即绑定

Android - 如何接收广播意图ACTION_SCREEN_ON / OFF?

Android - 如何接收广播意图ACTION_SCREEN_ON / OFF?

潇湘沐 2019-08-31 11:22:26
 <application>          <receiver android:name=".MyBroadcastReceiver" android:enabled="true">                 <intent-filter>                       <action android:name="android.intent.action.ACTION_SCREEN_ON"></action>                       <action android:name="android.intent.action.ACTION_SCREEN_OFF"></action>                 </intent-filter>          </receiver>...    </application>MyBroadcastReceiver设置只是为了向日志吐出foo。什么也没做。有什么建议吗?我是否需要分配任何权限来捕获意图?
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

我相信这些行为只能由在Java代码(via registerReceiver())中注册的接收者接收,而不是通过清单中注册的接收者接收。


查看完整回答
反对 回复 2019-08-31
?
MM们

TA贡献1886条经验 获得超2个赞

或者,您可以使用电源管理器来检测屏幕锁定。


@Override

protected void onPause()

{

    super.onPause();


    // If the screen is off then the device has been locked

    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);

    boolean isScreenOn;

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {

        isScreenOn = powerManager.isInteractive();

    } else {

        isScreenOn = powerManager.isScreenOn();

    }


    if (!isScreenOn) {


        // The screen has been locked 

        // do stuff...

    }

}


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 2661 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信