如果手机未处于零音量模式(静音模式或振动模式),我会尝试在我的应用中强制执行某些操作。
这是我的代码:
audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_RING) == 0 )
{
Log.d("Logmessage"," Audio stream ring volume : "+ audioManager.getStreamVolume(AudioManager.STREAM_RING));
return;
}
//Further logic
然而,if块之后的逻辑永远不会被执行,因为我总是将振铃器流量调为零。我还检查了振铃器模式(它总是返回RINGER_MODE_VIBRATE)。
有趣的是,我只在Kitkat操作系统以及我的摩托罗拉和联想手机上观察到这一点。这款逻辑适用于拥有Android 6.0的三星和联想手机。
任何人都可以告诉我我错过了什么,我的支票有什么问题? 我在服务中使用此逻辑
答案 0 :(得分:1)
提示:您可以查看音频系统中的当前音量和所选设备
var twoPairArray = []; //array to be returned
var twoPairObj = {}; //temp obj for manipulation
for(var key in targetObj) //target obj has the keys to be processed
{
if(Object.keys(twoPairObj).length == 2) //does temp obj have enough keys?
{
twoPairArray.push(JSON.parse(JSON.stringify(twoPairObj))); //sloppy clone of temp obj
twoPairObj = {}; //reset the temp obj.
}
twoPairObj[key] = targetObj[key]; //temp obj being manipulated into this craziness
}