[英]How can I make android react as in a call and the proximity sensor is triggered?
我有一個應用程序可以調用VoIp。 在那些電話中,我希望屏幕能夠像在正常通話期間那樣做出反應。 也就是說,我希望屏幕禁用所有事件,並在用戶觸發接近傳感器時關閉。 當然,當用戶將手機從手機上移開時,我希望手機能夠打開屏幕並啟用所有事件。 我以前試過自己關掉屏幕。 從未工作過。 所以我以為我用過這個解決方案。
我發現了一個類似的問題,它使用來自Android手機應用程序的樣本提供了關於接近傳感器的一些很好的信息。
以下是可以幫助您的代碼..這演示了我們如何使用SensorManager Class訪問接近傳感器,這里接近傳感器會觸發它調用一個方法來更改圖像視圖,您可以嘗試使用該方法的代碼.... ,在這里獲取整個源代碼
public class MainActivity extends Activity {
SensorManager sm;
Sensor ProximitySensor;
boolean state=true;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txstate= (TextView) findViewById(R.id.txstate);
sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
ProximitySensor = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
sm.registerListener(proximitySensorEventListener, ProximitySensor, SensorManager.SENSOR_DELAY_FASTEST);
}
SensorEventListener proximitySensorEventListener = new SensorEventListener()
{
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy)
{
}
@Override
public void onSensorChanged(SensorEvent event)
{
if(event.sensor.getType()==Sensor.TYPE_PROXIMITY)
{if((int)(event.values[0])==1)
{
call();
}
}
}
private void call()
{
ImageView im = (ImageView) findViewById(R.id.imageView1);
if(state)
{
state =false;
im.setImageResource(R.drawable.smile);
}
else
{
state=true;
im.setImageResource(R.drawable.sad);
}
}
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.