Слушатель изображения не может выбрать изображение из фрагмента

Изображение доступно слушателю, подбирает изображение фрагмента и 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, которую вы используете.

Другие вопросы по тегам