最近在使用高通的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+的机型来说,此处是要注释掉的。
分享到:
相关推荐
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...
Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...
android13 WindowManager-Shell.jar
ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running? 报错的意思大概就是说...
在Android系统中,"悬浮框权限",也称为"悬浮窗权限"或"显示于其他应用上方的权限",是自Android 6.0(API级别23)引入的一项安全特性。这种权限允许应用程序在用户界面的顶层创建窗口,比如我们常见的悬浮通知、小...
WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。
05-07 10:22:50.670: E/AndroidRuntime(22902): android.view.WindowManager$BadTokenException: Unable to add window -- token null is invalid; is your activity running? ``` **解决方法**: - 确保在Activity...
在Android系统中,Home键是默认行为,允许用户随时返回主屏幕或切换到其他应用程序。然而,有时开发者可能需要在特定场景下禁用Home键,例如在全屏游戏或者某个重要操作过程中,确保用户不会意外退出。这通常通过`...
在Android开发中,实现类似QQ视频那样的悬浮窗功能,需要用到`WindowManager`接口。`WindowManager`是Android系统服务之一,它允许应用管理窗口并控制它们在屏幕上的位置和显示方式。本篇将深入探讨如何利用`...
import android.view.WindowManager; import android.view.View.OnTouchListener; import android.widget.FrameLayout; import android.widget.ImageView; public class BubbleExplosion extends Activity { ...
在Android开发中,有时我们需要创建一个浮动在其他应用之上的窗口来实现特定功能,比如悬浮播放视频。`WindowManager.addView()`方法就是实现这一目标的关键。本文将深入探讨如何利用`WindowManager`服务和布局参数...
在Android API中,我们主要通过`android.view.WindowManager`接口和`android.view.View`类来实现这一功能。 1. **添加权限**: 在AndroidManifest.xml文件中,我们需要添加两个关键权限: - `android.permission....
在Android开发中,`SurfaceView`是一个特殊类型的`View`,它允许开发者在应用程序中创建一个独立于应用程序主线程的渲染表面。`SurfaceView`通常用于处理高性能的图形或者视频播放,因为它可以在单独的线程中进行...
3.android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? 这个错误属于安卓 Native 的错误。该错误通常是因为 Activity 不存在或者已经销毁...
在Android开发中,实现“在所有应用上显示View”通常涉及到系统级插件化或Overlay技术,这是一种高级的Android编程技巧,它允许开发者在任何已安装的应用之上添加自定义的UI元素。这样的功能常见于一些浮动小部件、...
在Android应用开发中,有时我们需要实现一种特殊的功能,即悬浮窗(Floating Window),它可以在其他应用之上显示,常用于提供快捷操作或者实时信息提示。本教程将深入讲解如何使用`WindowManager`服务来创建和管理...
Android悬浮窗实现原理和WindowManager详解 Android悬浮窗是指在Android系统中,可以悬浮在屏幕上的一种窗口,常见于QQ视频、手机杀毒软件的桌面小助手等应用中。要实现悬浮窗,需要使用WindowManager来管理窗口。...
WindowManager是Android系统中的一个重要组件,它允许开发者在应用程序中添加、移除或者更新视图到系统的窗口层次结构。在Android应用开发中,WindowManager常用于实现浮动小部件(如通知、对话框)或者自定义的系统...
在开发中我们经常需要把我们的应用设置为全屏,有两种方法... import android.view.Window; import android.view.WindowManager; public class OpenGl_Lesson1 extends Activity { public void onCreate(Bundle sa
在Android平台上,截屏功能是用户与应用交互过程中的一个重要组成部分。`ScreenShotSample_android截屏_DEMO_android截屏demo` 提供了一个Android客户端实现截屏服务的示例项目,帮助开发者了解如何在应用程序中集成...