手机按什么按键进入java_java – 当Android手机处于深度睡眠模式时,抓住按键

问题描述

我正在尝试编写一个应用程序,该应用程序将捕获音量调高/降低,并且蓝牙耳机按钮按下应用程序时

>背景

>前景

>背景和手机处于睡眠模式(按下电源按钮)

>前台和手机处于睡眠模式(按下电源按钮)

对于前两点,我已经写了一些测试应用程序,一切都在我的情况下工作,我将应用程序发送到后台,并向上/向下按音量,我的应用程序捕获这个事件.

按下电源按钮后,手机进入睡眠模式.然后我按音量向上/向下按钮手机不反应那个事件,我看不到任何loge在logcat,像一切都停止工作.

在睡眠模式下检测按键的应用程序.

我认为这个问题无法解决,但是我记得当音乐播放时,当你按音量增大/减小按钮时,Android标准的Media Player会捕捉这个事件.我认为这个应用程序可以做到这一点,因为它是系统应用程序,但后来我下载Winpm播放器,它的工作方式相同.当手机处于睡眠模式时,Winapm可以捕获音量增大/减少的事件.音乐播放器应用程序可以做到这一点.

我想了解如何做到这一点?我可以如何编写一个简单的应用程序,它可以抓住音量的上/下按钮.那时我需要播放一些音乐,还​​是可以做到这一点?我的意思可能是Winamp和其他应用程序捕获这个事件的主要原因是音乐在那个时候播放.或者也许这个问题无法解决,如果不能解决,我想知道为什么?我需要一些论点,为什么它不能解决.

我已经测试了一些应用程序,这里是结果,我写了一个简单的应用程序,可以在背景和前景以及应用程序处于睡眠模式时捕获音量上下键.当应用程序在后台和场地中时,一切都可以完美运行,我的测试应用程序会捕获事件,但是当我按下电源按钮时,它会停止这样做,然后按下媒体播放器上的开始,并开始播放一些音乐,然后按下电源按钮再次按音量调高,doun和我的应用程序统计查找音量上下按键.这意味着随后的音乐播放我的应用程序可以捕捉那些事件,所以我的下一个问题我如何模拟像我的手机播放somem音乐?这可能是解决方案吗?

的Manifest.xml

MainActivity.java

public class MainActivity extends Activity {

private PowerManager.WakeLock wl;

//private BroadcastReceiver vol = new VolumeBroadcast();

private AudioManager mAudioManager;

private ComponentName mRemoteControlResponder;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK,"DoNjfdhotDimScreen");

mAudioManager = (AudioManager)getSystemService(Context.AUdio_SERVICE);

mRemoteControlResponder = new ComponentName(getPackageName(),RemoteControlReceiver.class.getName());

}

@Override

protected void onPause() {

super.onPause();

mAudioManager.registerMediaButtonEventReceiver(

mRemoteControlResponder);

wl.release();

}//End of onPause

@Override

protected void onResume() {

super.onResume();

wl.acquire();

}//End of onResume

@Override

public void onDestroy() {

super.onDestroy();

mAudioManager.unregisterMediaButtonEventReceiver(

mRemoteControlResponder);

}

}

@H_404_32@

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值