`

android.app.SuperNotCalledException: Activity Camera did not call through to sup

 
阅读更多

 

 

但当Camera横竖切换时程序运行起来时,抛出如下异常:

android.app.SuperNotCalledException: Activity Camera did not call through to super.onConfigurationChanged()   

 

分析了Android2.3 Camera源码后,是由于在调用重写onConfigurationChanged未立即调用父类方法导致。

 

    public void onConfigurationChanged(Configuration config) {

super.onConfigurationChanged(config);//这个出了问题,必须在重写后立即调用。

        Log.e(TAG, "onConfigurationChanged() config="+config.toString());


        PreviewFrameLayout frameLayout =

                (PreviewFrameLayout) findViewById(R.id.frame_layout);

        frameLayout.setWindowOrientation(config.orientation);


        if(config.orientation == WINDOW_ORIENTATION_HORIZENTAL){

        if (!mPreviewing && !mStartPreviewFail) {

              Log.e(TAG, "!mPreviewing && !mStartPreviewFail onConfigurationChanged");

//                 resetExposureCompensation();

                 if (!restartPreview()) return;

             }

        changeHeadUpDisplayState();

             if(!isBusyingNow){

             Animation a = mShowZoomBarAnimation;

                 a.setDuration(300);

                 rootView.startAnimation(a);

                 rootView.setVisibility(View.VISIBLE);

             }

             isScreenLocked=false;

        }

     //   super.onConfigurationChanged(config);//这个出了问题,必须在重写后立即调用,注释掉,然后移动到方法开始。

    }

LOG如下:

11-22 11:13:23.376   937  2393 V MediaPlayer: setDataSource(/system/media/audio/ui/VideoRecord.ogg)

11-22 11:13:23.376   937  2393 V MediaPlayerService: Client(11) constructor

11-22 11:13:23.376   937  2393 V MediaPlayerService: Create new client(11) from pid 937, url=/system/media/audio/ui/VideoRecord.ogg, connId=11

11-22 11:13:23.376   937  2393 V MediaPlayerService: setDataSource(/system/media/audio/ui/VideoRecord.ogg)

11-22 11:13:23.376   937  2393 V MediaPlayerService: player type = 3

11-22 11:13:23.376   937  2393 V MediaPlayerService:  create VorbisPlayer

11-22 11:13:23.386   937  2393 V MediaPlayerService:  setDataSource

11-22 11:13:23.396   937  2393 V MediaPlayer: MediaPlayer::setAudioStreamType

11-22 11:13:23.396   937  2393 V MediaPlayer: prepare

11-22 11:13:23.396   937  2393 V MediaPlayerService: [11] setAudioStreamType(7)

11-22 11:13:23.396   937  2393 V MediaPlayerService: [11] prepareAsync

11-22 11:13:23.396   937  2393 V MediaPlayerService: [11] notify (0xc40e0, 1, 0, 0)

11-22 11:13:23.396   937  2393 V MediaPlayer: message received msg=1, ext1=0, ext2=0

11-22 11:13:23.396   937  2393 V MediaPlayer: prepared

11-22 11:13:23.396   937  2393 V MediaPlayer: signal application thread

11-22 11:13:23.406   937  2393 V MediaPlayer: prepare complete - status=0

11-22 11:13:23.406  2509  2570 E CameraHolder: open camera 1619

11-22 11:13:23.416  2509  2570 E CameraHolder: open done 1630

11-22 11:13:23.416  2509  2570 E camera  : CameraHolder.instance().open() time=1631

11-22 11:13:23.426  2509  2570 E camera  : mCameraDevice.getParameters() time=1640

11-22 11:13:23.426  2509  2570 D Camera  : app passed NULL surface

11-22 11:13:23.436  2509  2570 E setCameraParameters(): setCameraParameters............updateSet=-1

11-22 11:13:23.436  2509  2570 E camera  : updateCameraParametersInitialize()

11-22 11:13:23.436  2509  2570 E camera  : updateCameraParametersZoom()

11-22 11:13:23.436  2509  2570 E camera  : mZoomValue=0

11-22 11:13:23.436  2509  2570 E camera  : updateCameraParametersPreference()

11-22 11:13:23.446  2509  2570 E camera  : updateCameraParametersPreference()

11-22 11:13:23.446  2509  2570 E ComboPreferences: mPrefLocal.getString(key, defValue);

11-22 11:13:23.446  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.446  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.456  2509  2570 E ComboPreferences: mPrefGlobal.getString(key, defValue)

11-22 11:13:23.466  2509  2570 E ComboPreferences: mPrefLocal.getString(key, defValue);

11-22 11:13:23.466  2509  2570 E setCameraParameters(): setCameraParameters...ok!

11-22 11:13:23.466   937  2393 D CameraHardwareComip: preview xoffset: 25, preview yoffset: 5

11-22 11:13:23.466   937  2393 D CameraHardwareComip: window width: 258, window height: 194

11-22 11:13:23.488   937  2393 D CameraHardwareComip: picture width: 2048, picture height: 1536, fps: 30

11-22 11:13:23.488   937  2393 E CameraHardwareComip: overlayConfig: Overlay is not set yet

11-22 11:13:23.496  2509  2570 E camera  : max-zoom=0

11-22 11:13:23.496  2509  2570 E camera  : mZoomValue=0

11-22 11:13:23.506  2509  2570 V camera  : startPreview

11-22 11:13:23.516   937  1273 D CameraHardwareComip: startPreview: 0x0

11-22 11:13:23.610   937  1273 D CameraHardwareComip: zoom(0): 100

11-22 11:13:23.657   937  1273 W CameraHardwareComip: camera device don't support brightness

11-22 11:13:23.686   937  1273 D CameraHardwareComip: streamOn: 0

11-22 11:13:23.697   937  1273 D CameraHardwareComip: overlayDisplay : 1

11-22 11:13:23.996  2509  2509 E CameraHolder: Camera occupied

11-22 11:13:24.066  2509  2509 D AndroidRuntime: Shutting down VM

11-22 11:13:24.076  2509  2509 W dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4001d7d8)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: FATAL EXCEPTION: main

11-22 11:13:24.076  2509  2509 E AndroidRuntime: android.app.SuperNotCalledException: Activity Camera did not call through to super.onConfigurationChanged()

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.app.ActivityThread.performConfigurationChanged(ActivityThread.java:3928)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:4017)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2106)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.os.Looper.loop(Looper.java:123)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4627)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:521)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

11-22 11:13:24.076  2509  2509 E AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)

11-22 11:13:24.106  1247  1250 W ActivityManager:   Force finishing activity com.android.camera/.Camera

分享到:
评论

相关推荐

    Android代码-StatusBarUtil

    A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4). 中文版点我 Sample Download StatusBarUtil-Demo ChangeLog Click Me Usage Add the dependencies to your build....

    Android 中 android.view.WindowLeaked的解决办法

    Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...

    android 奔溃日志收集 发送邮件到邮箱

    Unable to start activity ComponentInfo{com.applp.chunghop/com.applp.chunghop.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String ...

    android app自动更新功能的实现

    在Android应用开发中,自动更新功能是提升用户体验和确保应用安全的重要组成部分。它允许开发者发布新版本的应用,而用户无需手动查找和下载更新,系统会在后台自动完成这一过程。本篇文章将详细介绍如何在Android...

    EurekaLog_7.5.0.0_Enterprise

    5)....Fixed: Windows 8+ App Menu shortcuts 6)....Fixed: Unmangling on x64 EurekaLog 7.2 Hotfix 3 (7.2.3.0), 20-May-2015 1)....Added: Support for token auth in Bugzilla (latest 4.x builds) 2)....Added...

    关于Android Studio安装完后activity_main.xml前几行报错的解决建议

    当你安装完Android Studio之后,开始了一个新项目,然后你发现: activity_main.xml前几行报错,比如http://schemas.android.com/apk/res/android “URI is not registered”。 move refactoring is not available ...

    android-support-v13

    android-support-v13 eclipse android支持包 支持包 支持包

    USBCamera多摄像头同时预览打开

    支持USB摄像头的android代码,UVC协议谁信那个头,USBCamera多摄像头同时预览打开。 可以复用里面的代码进行更多的摄像头打开,只要带宽足够,可以打开多个。 测试环境: macOS Catalina 版本10.15.7 Android Studio...

    Android代码-ActivityRouter

    支持给Activity定义 URL,这样可以通过 URL 跳转到Activity,支持在浏览器以及 app 中跳入。 集成 1. 添加引用 请根据项目的历史情况选择合适的集成方式 1.1 annotaitonProcessor 方式 dependencies { compile '...

    Matlab COM之MWMCR::EvaluateFunction error问题解决

    MWArray result = app.EvaluateFunction("sim", structParam); Console.WriteLine("Result: " + result.ToString()); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } ``` 在...

    mainactivity

    开发android的简单程序并且为android的开发打下基础,很希望得到源代码的

    钩子 Java 方法的框架 .zip

    钩子 Java 方法的框架。传奇项目已过时,请移至鲸鱼钩什么是传奇?Legend 是一个用于Android 开发的Hook 框架,它允许您在无需ROOT 的情况下Hook Java 方法。...}示例2拦截startActivity@Hook("android.app.Activity::s

    一劳永逸解决Failed to resolve:com.android.support:appcompat-v7:28.+

    一劳永逸方法 网上的其他方法比如修改...android-studio-ide-2.3.3\android-studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\ 找到build.gradle.ftl文件 编辑 ,在 allprojects

    AndroidStudio实现QQ登录

    在Android平台上实现QQ登录功能,通常涉及到QQ SDK的集成与应用。这个过程涵盖了多个关键步骤和技术要点,包括SDK的获取、项目的配置、权限申请、回调处理等。以下将详细讲解这些知识点。 首先,你需要从腾讯开放...

    安卓zxing 代码demo

    <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> ...

    com.serenegiantcommon4.1.1.zip

    UVCCamera是一个开源项目,专为Android设备设计,用于实现USB摄像头的直接访问和流媒体传输。这个库使得开发者能够利用USB连接的摄像头进行视频捕获和处理,扩大了Android设备的摄影功能,尤其适用于需要高质量视频...

    Android简单的页面启动器,不用再使用onActivityResult来取得返回值 Kotlin + androidx 实现

    import android.app.Activity import android.content.Intent import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx....

    android 百度地图 定位示例

    import android.app.Activity; import com.obtk.mapdemo.R; public class MapApiDemoActivity extends Activity implements OnGetGeoCoderResultListener { private MapView mMapView = null; private BaiduMap...

    Android Caused by: java.lang.ClassNotFoundException解决办法

    "Android Caused by: java.lang.ClassNotFoundException解决办法" 在 Android 开发中,ClassNotFoundException 是一个常见的异常,它通常发生在应用程序启动或运行时。这个异常的出现告诉我们,Java 虚拟机无法找到...

Global site tag (gtag.js) - Google Analytics