图像监听器无法从片段中选取图像

问题描述:

图像可用监听器拾取片段的图像,一旦图像可用,就会连续调用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事情设备上实现,但我得到一个警告说'一个TextureView或一个子类只能用于启用硬件加速'和onimageavailble()永远不会被调用。我在代码中进行了必要的更改以解决警告,但仍然不会调用onimageavailble()

在调试Android的东西在树莓派的代码,我注意到相机流没有显示在片段中,因为哪一个图像监听器无法选择一个。

请为我提供这个问题

+2

您使用的是Android版本的什么版本? –

+0

版本是Android的东西3 –

您正在使用WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED(与AndroidThings 0.3.0

用于R皮中的硬件加速AndroidThings只推出了解决方案0.5.0

参阅发行说明在这里:

https://developer.android.com/things/preview/releases.html

随着Android O的更新,现在支持OpenGL ES 2.0。带有GPU的平台(如Raspberry Pi 3)现在也支持硬件加速。

请更新您正在使用的AndroidThings的版本。

+0

我更新到Android版本0.5.0,但我无法从Raspberry Pi3设备上显示任何显示到我的显示器上,这是以前并非如此。甚至没有显示启动屏幕。我现在所能看到的只是一个黑屏。我的显示屏分辨率为1366 * 768 –