2012-05-23 6 views

答えて

3

でのようにあなたは、意思を使って、カメラアプリを起動することができます。 Android camera intent

あなたはこのようなあなたの意図で特定のクラスを設定することができます。
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.setClassName("com.android.camera", "com.android.camera.Camera");

これは表示されませんインテントチューザーを開き、デフォルトのCamera-appを起動します。

+1

これは作品をdoesnot。マニフェストでこのアクティビティを登録するとエラーが発生しました。それでも問題はあります – Jan

+1

これは、多くのOEMが異なるクラス/パッケージ名を持つ独自のカメラを使用しているため、異なる電話機では機能しません。 http://stackoverflow.com/questions/3748605/starting-video-camera-with-intent –

+0

** setClassName **は動作しませんが、この行は機能しませんが、** Line Camera **、** Paper Camera **があなたの電話機にインストールされている場合は、アクションが選択されます。だから、どのように選択カメラを表示せずにデフォルトのカメラを開くには? –

0
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);    
startActivityForResult(intent, TAKE_PICTURE); 
0
imageView = (ImageView)findViewById(R.id.imageView1); 
     Button photoButton = (Button)findViewById(R.id.button1); 
     photoButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
       startActivityForResult(cameraIntent, CAMERA_REQUEST); 
      } 
     }); 
    } 

    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == CAMERA_REQUEST) { 
      Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      imageView.setImageBitmap(photo); 
     } 

    } 
マニフェスト

<uses-feature android:name="android.hardware.camera"/> 
+0

これはチューザを要求します。ネイティブのアンドロイドカメラのみを起動したいのですが、選択したカメラを非表示にしたい場合は、ネイティブのカメラアプリケーションを直接開きます。 – Jan

関連する問題