但当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
分享到:
相关推荐
This book covers Android app design fundamentals in Android Studio using Java programming language. The author assumes you have no experience in app development. The book starts with the installation ...
Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...
最近在Android N 上 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData(),通过查找相关的资料终于找到了...
Unable to start activity ComponentInfo{com.applp.chunghop/com.applp.chunghop.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String ...
问题记录 记录项目中的一个问题,不知什么时候,运行项目会出现这个错误: 解决方法 buildscript { repositories { ... classpath 'com.android.tools.build:gradle:3.6.2' } } 反思 项目出现问题
:alt: Join the chat at https://bankdroid.herokuapp.com/ :target: https://bankdroid.herokuapp.com/ Bankdroid Bankdroid is an Android app for Swedish banks, payment cards and similar services. Key ...
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-support-v13 eclipse android支持包 支持包 支持包
使用AndroidStudio开发工具,基于Bomb云数据库,完成的一个信息采集系统,功能齐全可以用作本科毕业设计。
支持给Activity定义 URL,这样可以通过 URL 跳转到Activity,支持在浏览器以及 app 中跳入。 集成 1. 添加引用 请根据项目的历史情况选择合适的集成方式 1.1 annotaitonProcessor 方式 dependencies { compile '...
解决linux下出现/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found问题,包含libstdc++.so.6.0.23文件和使用说明文档
开发android的简单程序并且为android的开发打下基础,很希望得到源代码的
Useful Kotlin extensions to speed up Android app development dependencies dependencies { implementation "com.tomasznajda.ktx:android:1.3.0" implementation "com.tomasznajda.ktx:kotlin:1.2.0" ...
一劳永逸方法 网上的其他方法比如修改...android-studio-ide-2.3.3\android-studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\ 找到build.gradle.ftl文件 编辑 ,在 allprojects
把其它app 放在assets/ 下面打包, 通过系统调用安装这个app //申请安装未知应用权限 Uri packageURI = Uri.parse("package:" + mContext.getPackageName()); Intent intent = new Intent(Settings.ACTION_...
import android.app.Activity import android.content.Intent import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx....
A todo list app base Material Design add to do list, include img,audio remind user in time IM Video Demo in youtube 国内地址 Screenshots OpenSource library com.squareup.okhttp ...
Walking through example applications, you will learn the vocabulary necessary to solve real-world problems and how to present your content on the television through Android. In addition to practical ...
Delphi XE FMX加构下对移动平台的wifi控制与操作全部来源于它,相当给力与重要!
import android.app.Activity; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import ...