У меня есть страница звонков, на которой пользователь прикладывает телефон к уху , я нашел как реализовать датчик приближения Proximity. К сожалению я не могу понять , как блокировать эран. Я пробывал просто убирать элементы с экрана (менять свойство isVisible), но это не совсем то. Когда происходит событие OnSensorChanged Надо как то поменять свойства экрана , что бы было как на обычных звонках.
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Hardware;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Corporate_messenger.DB;
using Corporate_messenger.Service;
using Corporate_messenger.Service.Notification;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace Corporate_messenger.Droid
{
[Activity(Label = "CallActivity",ScreenOrientation = ScreenOrientation.Portrait)]
public class CallActivity : Activity, ISensorEventListener
{
Android.Widget.Button BtnStartCall;
Android.Widget.Button BtnEndCall;
Android.Widget.Button BtnEndCallCenter;
SensorManager sensorManager;
Sensor proximitySensor;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
sensorManager = (SensorManager) GetSystemService(Context.SensorService);
sensorManager.RegisterListener(this, sensorManager.GetDefaultSensor(SensorType.Proximity), SensorDelay.Ui);
proximitySensor = sensorManager.GetDefaultSensor(SensorType.Proximity);
}
public void OnAccuracyChanged(Sensor sensor, [GeneratedEnum] SensorStatus accuracy)
{
var s = sensor;
}
public void OnSensorChanged(SensorEvent e)
{
// The sensor is triggered here, at this moment I can’t figure out how to Hide the screen (do not
// active , darken)
}
}
}