Существуют такие приложения, как Датчик кинетики или Проверка датчиков , которые отображают и обновляют в реальном времени значения всех датчиков в одном действии.
Я пытаюсь Совершено то же самое. Я хочу отобразить все значения датчика в операции X, которая получает значения датчика от Foreground Service Y, которая отправляет намерение широковещательной передачи каждый раз, когда происходит замена датчика. В этом сервисе Y регистрируются все датчики.
Когда я пытался получить значения датчиков с помощью широковещательного намерения, активность становится очень медленной, поскольку он принимает сотни широковещательных сообщений в секунду.
Мой вопрос является ли, как я могу сохранить свою активность X гладкой, когда служба Y работает на переднем плане?
Это фрагмент кода из моей службы Y в onSensorChanged
:
/.../
case Sensor.TYPE_ACCELEROMETER:
float xAcc = event.values[0];
myBundle.putFloat("xAccValue",xAcc);
myBundle.putString("Sensor_Name",allConstants.ACCELEROMETER);
int1.setAction(allConstants.SENSOR_DATA_INTENT);
int1.putExtras(myBundle);
LocalBroadcastManager.getInstance(this).sendBroadcast(int1);
break;
case Sensor.TYPE_GYROSCOPE:
float xGyro = event.values[0];
myBundle.putFloat("xGyroValue",xGyro);
myBundle.putString("Sensor_Name",allConstants.GYROSCOPE);
int1.setAction(allConstants.SENSOR_DATA_INTENT);
int1.putExtras(myBundle);
LocalBroadcastManager.getInstance(this).sendBroadcast(int1);
break;
/.../