mPreview является объектом CameraActivity.и я запускаю вид из камеры из моей основной деятельности.Теперь в MainActivity есть метод onPause ().
RightNow это так:
protected void onPause() {
super.onPause();
if (counter>=2) {
System.exit(0);
}
}
Но с этим кодом.Мое приложение получит выход, если оно перейдет в состояние паузы.Я хочу снова запустить Моё приложение, если пользователь вернется из паузы устройства.
Так что для этого у меня есть Реализация этого кода:
protected void onPause() {
super.onPause();
if (counter>=2) {
//System.exit(0);
try {
if (mPreview.mCamera!=null) {
mPreview.mCamera.stopPreview();
mPreview.isPreviewRunning=false;
mPreview.mCamera.release();
}
} catch (Exception e) {
Log.e("Camera", e.getMessage());
}
//mPreview.mCamera.stopPreview();
}
else{
// mPreview.mCamera.startPreview();
mPreview.isPreviewRunning=false;
}
}
}
Но с этим кодом, иногда я получаю свойсбой приложения.Так где я ошибаюсь, чтобы реализовать это ??
Трассировка стека:
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): FATAL EXCEPTION: main
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): java.lang.RuntimeException: Method called after release()
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.hardware.Camera.setHasPreviewCallback(Native Method)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.hardware.Camera.access$600(Camera.java:114)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:472)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.os.Handler.dispatchMessage(Handler.java:99)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.os.Looper.loop(Looper.java:123)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at android.app.ActivityThread.main(ActivityThread.java:4633)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at java.lang.reflect.Method.invokeNative(Native Method)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at java.lang.reflect.Method.invoke(Method.java:521)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-03 12:26:21.748: ERROR/AndroidRuntime(4295): at dalvik.system.NativeStart.main(Native Method)
11-03 12:26:21.758: WARN/ActivityManager(171): Force finishing activity de.offis.magic.core/.GLCamTest
Спасибо.