如果被意图调用,相机会崩溃

时间:2014-05-12 03:51:18

标签: android android-intent camera

如果被Intent调用,我的个性化相机会崩溃,但如果应用程序直接启动到相机,则可以正常工作。我的问题是,如果相机没有设置为启动器,并且如果通过意图调用,则显示相机但是如果按下捕获按钮则会崩溃。

我有两个班,第一个是startup screen,第二个班是camera。启动屏幕是启动器,相机类是清单声明的默认值。如果我运行应用程序,则会显示startp屏幕,如果用户单击按钮"启动相机"它将通过意图调用相机类,现在如果我点击/单击捕获按钮,相机崩溃并停止。

这是我调用相机类的意图代码;

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();
 }

logcat:

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 个答案:

答案 0 :(得分:0)

你好你的问题不是在相机而是内存问题。捕获图像时请检查内部存储器,因为没有用于存储新图像的存储器。首先检查内存可用性,然后捕获图像。