2

カメラのアクティビティ、つまり android.provider.MediaStore.ACTION_IMAGE_CAPTURE の onBAckPressed() をオーバーライドする方法はありますか。

私がやろうとしていることを説明させてください

ユーザーがクリックすると、ギャラリーから画像を選択するか、カメラを使用して画像をキャプチャするように求めるダイアログが表示されるボタンがあります。

コードはこのようなものです

case R.id.btn_live:
            Intent liveIntent= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(liveIntent,RESULT_CAPTURE_IMAGE);
            myDialog.dismiss();       
            break;

        case R.id.btn_gallery:  
            Intent galIntent = new Intent(
                    Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
           startActivityForResult(galIntent, RESULT_LOAD_IMAGE);  
           myDialog.dismiss();
            break;

ユーザーが2つのアクションのいずれかを選択すると、次のようなインテントを使用して開始します-

インテント liveIntent= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

ユーザーはカメラアクティビティに入ります。ユーザーがカメラを使用しているときに、戻るボタンを押した場合にいくつかの機能を適用したいと思います。

では、どうすればよいでしょうか?何かご意見は?

4

1 に答える 1

4

呼び出している外部アクティビティのメソッドをオーバーライドすることはできません。ただし、ユーザーが startActivityForResult を使用して呼び出されたアクティビティに戻った場合、通常、応答コード RESULT_CANCELLED が返されます (これが正しくない場合もあります)。onActivityResult メソッドで RESULT_CANCELLED コードを確認し、必要な機能を呼び出すだけです。

于 2012-07-04T05:18:12.383 に答える