0

カメラの意図を使用してビデオをキャプチャしようとし、onActivityResult でビデオを取得しました。特定の状況を除いて、正常に動作します。

特定の電話でビデオを長時間キャプチャすると、保存ボタンをクリックすると、カメラ自体に戻ります。そこから戻るボタンを押すと、アプリに戻りますが、新しいアクティビティに戻ります。

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

1 に答える 1

0

これは、アクティビティが強制終了されたときに発生します。サービスを作成することをお勧めします。そのようにすると、電話のメモリが少なくなりすぎた場合に備えて、Android はそれを強制終了するだけです。受信するブロードキャストを探すことができる場合 (何をしようとしているのかによって異なります)、ブロードキャスト レシーバーをセットアップし、ブロードキャストの受信時にサービスを呼び出すか、サービスを強制終了することもできます。そうすれば、サービスでさえ常に実行されるわけではありません。

于 2013-02-07T10:57:33.730 に答える