如何以编程方式检测android中的pocket模式
我正在尝试检测android中的pocket模式。但是我没有找到任何有用的链接如何以编程方式检测android中的pocket模式,android,Android,我正在尝试检测android中的pocket模式。但是我没有找到任何有用的链接 我们是否可以通过编程方式检查手机是否处于口袋模式?您可以通过读取各种传感器的值来实现它。然而,结果将是近似的。我使用接近传感器、加速计和光传感器实现了口袋检测 从传感器(加速计、接近传感器和光传感器)获取当前参数: 然后根据这些数据,我决定设备是否在口袋中: public void detect(float prox, float light, float g[], int inc){ if((prox<
我们是否可以通过编程方式检查手机是否处于
口袋模式
?您可以通过读取各种传感器的值来实现它。然而,结果将是近似的。我使用接近传感器、加速计和光传感器实现了口袋检测
从传感器(加速计、接近传感器和光传感器)获取当前参数:
然后根据这些数据,我决定设备是否在口袋中:
public void detect(float prox, float light, float g[], int inc){
if((prox<1)&&(light<2)&&(g[1]<-0.6)&&( (inc>75)||(inc<100))){
pocket=1;
//IN POCKET
}
if((prox>=1)&&(light>=2)&&(g[1]>=-0.7)){
if(pocket==1){
playSound();
pocket=0;
}
//OUT OF POCKET
}
public void detect(浮点前置器、浮点灯、浮点g[],int inc){
如果((prox=-0.7)){
如果(口袋==1){
播放声音();
口袋=0;
}
//自掏腰包
}
}
请记住,检测并非完全准确。代码:
博客帖子:我认为这是不可能的。如果你是说,这里有很多问题,Android 7+也有类似口袋模式的情况。否则,您必须查看特定设备制造商的规格,以了解如何进行交互。@KenY-N不是打瞌睡模式,我只是想知道手机是否在口袋中。ActivityRecognitionApi可能适合您
public void detect(float prox, float light, float g[], int inc){
if((prox<1)&&(light<2)&&(g[1]<-0.6)&&( (inc>75)||(inc<100))){
pocket=1;
//IN POCKET
}
if((prox>=1)&&(light>=2)&&(g[1]>=-0.7)){
if(pocket==1){
playSound();
pocket=0;
}
//OUT OF POCKET
}