Камера вылетает, если вызвано намерением
Моя персонализированная камера выходит из строя при вызове Intent, но если приложения запускаются непосредственно на камеру, это работает. Моя проблема в том, что, если камера не установлена в качестве запуска и если вызывается через намерение, камера была показана, но она вылетит, если будет нажата кнопка захвата.
У меня два класса, 1-й startup screen
и 2-й класс camera
, Экран запуска является средством запуска, а класс камеры является значением по умолчанию в объявлении манифеста. Если я запускаю приложения, отображается экран запуска, и если пользователь нажимает кнопку "Начать камеру", он будет вызывать класс камеры через намерение, теперь, если я коснусь / нажму кнопку захвата, камера выйдет из строя и остановится.
Это мой код для вызова класса камеры;
public void startCamera(View paramView)
{
Intent stCam = new Intent(GPSInitialize.this, MainActivity.class);
stCam.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
stCam.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(stCam);
locationManager.removeUpdates((LocationListener) GPSInitialize.this);
finish();
}
Логкат:
05-12 00:17:25.368: E/AndroidRuntime(1563): java.lang.OutOfMemoryError
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.graphics.Bitmap.nativeCopy(Native Method)
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.graphics.Bitmap.copy(Bitmap.java:555)
05-12 00:17:25.368: E/AndroidRuntime(1563): at com.joules.camera3100.MainActivity$3.onPictureTaken(MainActivity.java:443)
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:917)
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.os.Handler.dispatchMessage(Handler.java:102)
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.os.Looper.loop(Looper.java:136)
05-12 00:17:25.368: E/AndroidRuntime(1563): at android.app.ActivityThread.main(ActivityThread.java:5017)
05-12 00:17:25.368: E/AndroidRuntime(1563): at java.lang.reflect.Method.invokeNative(Native Method)
05-12 00:17:25.368: E/AndroidRuntime(1563): at java.lang.reflect.Method.invoke(Method.java:515)
05-12 00:17:25.368: E/AndroidRuntime(1563): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-12 00:17:25.368: E/AndroidRuntime(1563): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-12 00:17:25.368: E/AndroidRuntime(1563): at dalvik.system.NativeStart.main(Native Method)
1 ответ
Здравствуйте, ваша проблема не в камере, а проблема с памятью. пожалуйста, проверьте свою внутреннюю память при захвате изображения, потому что нет памяти для хранения нового изображения. сначала проверьте доступность памяти, а затем захватите изображение.