java屏幕锁定_java - 无法使用onPause在锁定/关闭屏幕上执行操作 - SO中文参考 - www.soinside.com...

我已经实现了与Android notification of screen off/on类似的功能,但是它没有按预期的方式工作。我只想在屏幕关闭时停止音乐。我创建了一个像这样的屏幕操作类public class ScreenAction extends BroadcastReceiver {

public static boolean wasScreenOn = true;

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {

// DO WHATEVER YOU NEED TO DO HERE

wasScreenOn = false;

} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {

// AND DO WHATEVER YOU NEED TO DO HERE

wasScreenOn = true;

}

}

}

然后,在我创建的主要活动中,我有这个IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);

filter.addAction(Intent.ACTION_SCREEN_OFF);

BroadcastReceiver mReceiver = new ScreenAction();

registerReceiver(mReceiver, filter);

在暂停的主要活动中,我有类似这样的内容:public void onPause() {

super.onPause();

if (ScreenAction.wasScreenOn) {

final MediaPlayer mp = MediaPlayer.create(this, R.raw.pcmouseclick1);

mp.setVolume(.1f, .1f);

mp.start();

if (buttonState) {

mServ.reduceVolume();

}

}

}

我从一个在线资源中找到了这个,但是我遇到了问题。似乎屏幕状态始终设置为true,但我不确定如何更改此状态。

[我如何利用此ScreenAction类在用户锁定屏幕后仅在暂停状态下关闭音乐?我觉得我在onPause中缺少了一些东西,因为在onCreate中,我链接到该类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值