Я унаследовал некоторый код из приложения, которое мне нужно изменить (yuck). Эта деятельность реализует SurfaceHolder.Callback и SensorEventListener. Эта деятельность предназначена для пользовательской камеры.Почему моя активность андроида остановлена?
Код отлично подходит для автофокусировки и сфотографирован. После того, как снимок сделан, я запускаю другое действие для результата, чтобы обрезать изображение. Как только эта активность будет запущена, вызывается SurfaceHolder.Callback для surfaceDestroyed (как и ожидалось). На этом этапе существующее приложение освобождает камеру (как и ожидалось). Однако при запуске новой активности урожая исходная активность камеры прекращается (трассировка стека: Instrumentation.callActivityOnStop-> Activity.performStop). не
Edit: Полные трассировки стеки, когда OnStop моей деятельности называется:
CameraActivity.onStop() line: 784
Instrumentation.callActivityOnStop(Activity) line: 1219
CameraActivity(Activity).performStop() line: 5186
ActivityThread.performStopActivityInner(ActivityThread$ActivityClientRecord, ActivityThread$StopInfo, boolean, boolean) line: 3003
ActivityThread.handleStopActivity(IBinder, boolean, int) line: 3052
ActivityThread.access$1000(ActivityThread, IBinder, boolean, int) line: 139
ActivityThread$H.handleMessage(Message) line: 1251
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 137
ActivityThread.main(String[]) line: 4918
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 1004
ZygoteInit.main(String[]) line: 771
NativeStart.main(String[]) line: not available [native method]
Из-за эту деятельность камеры больше не является активным, и он не получает результат от деятельности растениеводства.
Почему разрушение поверхности/освобождение камеры приводит к остановке действия камеры? Я должен упустить что-то здесь ...
Вы можете показать свой код активности вашей камеры? – Sameer
Очень большой и неуклюжий (около 900 строк).И так как я этого не писал, я не уверен, могу ли я просто поместить все это по юридическим причинам. Однако, если есть части, которые были бы полезны, я могу положить это (возможно, методы SurfaceHolder.callback?). – Innova
Поместите контрольную точку в 'onStop()' и узнайте, что ее вызывает. – 323go