用于收听手机音量按钮事件的应用程序



我需要创建一个应用程序来监听手机音量按钮的事件。就我所能找到和测试的而言,一个带有javascript的简单页面不会触发这些事件,使用如下内容:window.addEventListener('keydown', keyDownHandler)让它成为PWA会改变什么吗?该要求仅适用于Android。当应用程序关闭或手机锁定时触发是一大优势。

我认为最简单的替代方案是React Native。对吗?

有多个平台可以对此进行存档,我认为最简单的方法是:

1-离子型

它基于cordova,是您已经使用的PWA的壁橱平台,您可以从这里使用此库处理音量按钮。

cordova-plugin-volume-buttons

window.addEventListener("volumebuttonslistener", onVolumeButtonsListener, false);

function onVolumeButtonsListener(info){
console.log("Button pressed: " + info.signal);
}

2-React Native

这将给你最好的性能,你可以在这里使用这个库处理音量按钮。

react-native-volume-control

import VolumeControl, {
VolumeControlEvents
} from "react-native-volume-control";
VolumeControlEvents.addListener(
"VolumeChanged",
this.volumeEvent
);

您可以使用AppState检查应用程序是否关闭或转到后台,例如:

import {AppState} from 'react-native';
useEffect(() => {
AppState.addEventListener('change', handleAppStateChange);
// remove subscription
return AppState.removeEventListener('change', handleAppStateChange);
}, []);
const handleAppStateChange = (nextAppState) => {
// closed
if (nextAppState === 'inactive') {
console.log('the app is closed');
}   else if (nextAppState === 'background') {
console.log('the app on background');
} 
}

最新更新