Слушатель изображения не может выбрать изображение из фрагмента
Изображение доступно слушателю, подбирает изображение фрагмента и onimageavailble()
вызывается непрерывно, как только изображение становится доступным. Экземпляр кода выглядит следующим образом:
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(null);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_camera);
setFragment();
}
setFragment()
код является:
protected void setFragment() {
final Fragment fragment =
CameraConnectionFragment.newInstance(
new CameraConnectionFragment.ConnectionCallback() {
@Override
public void onPreviewSizeChosen(final Size size, final int rotation) {
CameraActivity.this.onPreviewSizeChosen(size, rotation);
}
},
this,
getLayoutId(),
getDesiredPreviewFrameSize());
getFragmentManager()
.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}
Код работает правильно на Android, и поэтому я хотел, чтобы его реализовали на устройстве Android Things, но я получал предупреждение о том, что "TextureView или подкласс можно использовать только с включенным аппаратным ускорением", и onimageavailble()
никогда не называется. Я сделал необходимые изменения в коде, чтобы устранить предупреждение, но все же, onimageavailble()
никогда не называется.
При отладке кода в raspberry Pi3 для Android я заметил, что поток видео с камеры не отображается во фрагменте, из-за которого слушатель изображения не может выбрать его.
пожалуйста, дайте мне решение этой проблемы
1 ответ
Ты используешь WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
(с AndroidThings 0.3.0
)
Аппаратное ускорение для R Pi было представлено только в AndroidThings 0.5.0
Смотрите примечания к выпуску здесь:
https://developer.android.com/things/preview/releases.html
С обновлением до Android O теперь поддерживается OpenGL ES 2.0. Платформы с графическим процессором (например, Raspberry Pi 3) также теперь поддерживают аппаратное ускорение.
Пожалуйста, обновите версию AndroidThings, которую вы используете.