高通fastcv编译出现“android.view.WindowManager$BadTokenException: Unable to add window”

最近在使用高通的FastCV,官方给出了一个Sample,可是第一次编译后出现以下错误信息:

 

android.view.WindowManager$BadTokenException: Unable to add window

....

差了很久都没有发现什么地方错,后来发现是官方的Sample中设定了屏幕分辨率,和我的手机不匹配

下面是官方的源代码:这是FastCVSample.java中的

   protected void updatePreferences()

   {

      // Retrieve Preferences

      SharedPreferences prefs = 

         PreferenceManager.getDefaultSharedPreferences( getBaseContext() );

 

      // set the default camera resolution to WVGA

      mDesiredWidth = 320;

      mDesiredHeight = 240;

 

      // retrieves user preference to set the threshold for Fast

      // Corner Detector algorithm 

      int resIndex = 

         Integer.decode( prefs.getString( "camThreshold", "3" ) );

      if( resIndex < mPrefOptsFastThreshold.length )

      {

         Log.e( TAG, "Configured FastThreshold: " + resIndex );

         mPrefThreshold = mPrefOptsFastThreshold[ resIndex ];

         Log.e( TAG, "Configured Threshold: " + 

                mPrefThreshold );

 

      }

 注意我标红色的地方,如果你的手机分辨率是800*640,那就没是,可是我的手机不好,只有320*240,改过来之后就可以了。

另外,在这个类中,还有一处

private void setupCamera()

   {

      // Now that the size is known, set up the camera parameters and begin

      // the preview.

      final Camera.Parameters parameters = mCamera.getParameters();

 

      parameters.setPreviewFrameRate( 30 );

      parameters.setPreviewSize( mDesiredWidth, mDesiredHeight );

      parameters.setFocusMode( Camera.Parameters.FOCUS_MODE_INFINITY );

      parameters.setWhiteBalance( Camera.Parameters.WHITE_BALANCE_FLUORESCENT );

      //mCamera.setParameters( parameters );

 

      mPreviewWidth = mCamera.getParameters().getPreviewSize().width;

      mPreviewHeight = mCamera.getParameters().getPreviewSize().height;


 同样注意标红出,对于android2.3+的机型来说,此处是要注释掉的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值