2013-02-07 33 views
0

我试图使用摄像机意图捕获视频并获取onActivityResult中的视频。它的工作很好,除了某些情况。单击保存按钮后Android摄像机意图停留在捕获状态

当我在某些手机中长时间捕捉视频时,当我点击保存按钮时,它会返回到相机本身。当我从那里按回来按钮,它会返回到我的应用程序,但是一个新的活动。

// Calling camera intent 
Intent intent = new Intent(
        android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
      startActivityForResult(intent, 1); 
@Override 
protected void onActivityResult(int requestCode, int resultCode, 
     Intent videoReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, videoReturnedIntent); 

    if (resultCode == RESULT_OK) { 

     float size = 0; 
     Uri selectedVideo = videoReturnedIntent.getData(); 

     String[] filePathColumn = { MediaStore.Video.Media.DATA }; 
     Cursor cursor = getContentResolver().query(selectedVideo, 
       filePathColumn, null, null, null); 
     if (cursor != null) { 
      cursor.moveToFirst(); 
      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      filePath = cursor.getString(columnIndex); 
      cursor.close(); 
        } 
       } 
       } 
+0

将您的代码粘贴到此处。 –

+0

确保您的应用在摄像头不工作时不会被杀死....有时候摄像头应用会消耗大量内存,因此Android可能会杀死您的应用 –

+0

是的活动调用摄像头意图被杀死。你能否提出一种解决问题的方法? –

回答

0

这会发生在您的活动死亡时。我会建议制作一个服务,因为在这种情况下,Android只会杀死它,以防手机内存过低。如果您可以查找要接收的广播(取决于您正在尝试执行的操作),则可以设置广播接收器,然后在广播收据上调用该服务,否则也会终止服务。这样,即使服务不会一直运行。