0

次のアクションを初期化するためにインテントを使用しています ここに画像の説明を入力してください

このギャラリーオプションの他に、カメラオプションも必要です。次のコードを試しましたが、機能しませんでした。

Intent cameraIntent = new Intent();
            cameraIntent.setType(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
             cameraIntent.setType("image/*");
             cameraIntent.setAction(Intent.ACTION_GET_CONTENT);
             //startActivityForResult(Intent.createChooser(intent, "Select Picture"),0);


        startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

ギャラリーオプションは表示されますが、カメラは表示されません。この問題を理解するのを手伝ってください。

編集:

 public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.menu, menu);
            return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            switch (item.getItemId()) {
            case R.id.cameraa:
                // Toast.makeText(this, "Save Project!", Toast.LENGTH_LONG).show();
                Intent intents = new Intent("android.media.action.IMAGE_CAPTURE");
                File photo = new File(Environment.getExternalStorageDirectory(),
                        "Pic.jpg");
                intents.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
                startActivityForResult(intents, 1);

                break;

            case R.id.gallery:
                // Toast.makeText(this, "Take Snapshot!", Toast.LENGTH_LONG).show();
                // ////This is gallery intent
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(
                        Intent.createChooser(intent, "Select Picture"), 0);
                break;
            }
            return true;
        }
4

1 に答える 1

3

ねえ、このコードはあなたに役立つかもしれません、

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
        intent.putExtra(MediaStore.EXTRA_OUTPUT, tempUri);

        startActivityForResult(intent, 0);
于 2012-05-17T05:38:45.790 に答える