【问题标题】:Camera in Android [closed]Android中的相机[关闭]
【发布时间】:2011-08-10 18:55:15
【问题描述】:

我想在安卓应用中使用相机功能。

我想在单击按钮控件时捕获图像,任何人都可以建议我最好的例子。

【问题讨论】:

  • 请在本站搜索“android camera capture”

标签: android camera


【解决方案1】:

试试android dev的网站:Camera access in android也读这篇文章:Using android camera

有关更多信息,请查看此问题的相关部分。

【讨论】:

    【解决方案2】:
    【解决方案3】:
    @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button button = (Button)findViewById(id);
     button.setonClickListener(new View.onClickListener()
                {
             public void onClick(View view)
                {
                    Intent intent = new Intent();
                    intent.putExtra("aspectX", 730);
                    intent.putExtra("aspectY", 1115);
                    intent.putExtra("outputX", 730);
                    intent.putExtra("outputY", 1115);
                    intent.setAction("android.media.action.IMAGE_CAPTURE");
               startActivityForResult(intent, PICK_FROM_CAMERA);
                    }
            @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) 
        {
            super.onActivityResult(requestCode, resultCode, data);
    
            switch(requestCode)
            {
                case PICK_FROM_CAMERA : if (resultCode == RESULT_OK)
                { 
                    ContentValues values = new ContentValues();
                    values.put(Images.Media.TITLE, "title");
                    values.put(Images.Media.BUCKET_ID, "test");
                    values.put(Images.Media.DESCRIPTION, "test Image taken");
                    values.put(Images.Media.MIME_TYPE, "image/jpeg");
                    Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
                    Bitmap photo = (Bitmap) data.getExtras().get("data");
                    ((ImageView)findViewById(R.id.selectedimage)).setImageBitmap(photo);
                    OutputStream outstream;
                    try {
                            outstream = getContentResolver().openOutputStream(uri);
                            photo.compress(Bitmap.CompressFormat.JPEG,100, outstream);
                            outstream.close();
                    } catch (FileNotFoundException e) {}
                    catch (IOException e){}
                }
                break;
    

    编辑:它完美且有效。如果您喜欢它,请尝试并提供反馈。

    【讨论】:

      【解决方案4】:

      请检查这个答案:

      public class ImageUploading extends Activity 
      {   
          Uri imageUri = null;
          ImageButton btnSubmit   ;
          public void onCreate(Bundle onsavedInstantState)
          {
              super.onCreate(onsavedInstantState);
              setContentView(R.layout.edit_profile);
              btnSubmit               = (ImageButton) findViewById(R.id.btnSubmit);       
              btnSubmit.setClickable(true);       
              btnSubmit.setOnClickListener(new View.OnClickListener()
              {           
                  @Override
                  public void onClick(View v) {           
                      Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE");
                      File imgFile = new File(Environment.getExternalStorageDirectory(),"my_photo.png");
                      imageUri = Uri.fromFile(imgFile);
                      cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);               
                      startActivityForResult(cameraIntent,0);             
                  }
              });
          }   
          @Override
          public void onActivityResult(int RequestCode, int ResultCode, Intent imageIntent)
          {
              super.onActivityResult(RequestCode, ResultCode, imageIntent);
              try
              {
                  if(RequestCode == 0)
                  {
                      if(ResultCode == Activity.RESULT_OK)
                      {
                          getContentResolver().notifyChange(imageUri, null);
                          ContentResolver objContentResolver = getContentResolver();
                          Bitmap imgBitmap = android.provider.MediaStore.Images.Media.getBitmap(objContentResolver, imageUri);
                          Drawable imgDrawable = new BitmapDrawable(imgBitmap);
                          btnSubmit.setBackgroundDrawable(imgDrawable);
                      }
                  }           
              }
              catch(Exception e)
              {}
          }
      }
      

      它将在按钮单击时捕获图像,并将此图像设置为该按钮本身的背景图像。

      【讨论】:

        【解决方案5】:
        【解决方案6】:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多