【问题标题】:Start Native Camera without showing chooser在不显示选择器的情况下启动 Native Camera
【发布时间】:2012-05-29 22:14:46
【问题描述】:

是否可以启动原生 android 相机应用来启动默认相机而不是显示意图选择器,然后启动 Activity 以获得结果?

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以使用 Intent 启动相机应用,例如: Android camera intent

    你可以像这样在你的意图中设置一个特定的类:
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    intent.setClassName("com.android.camera", "com.android.camera.Camera");

    这不会显示意图选择器并启动默认的相机应用程序。

    【讨论】:

    • 这不起作用。在清单中注册此活动时出错,我也这样做了。但问题仍然存在
    • 这不适用于不同的手机,因为许多 OEM 使用自己的相机,具有不同的类/包名称。 stackoverflow.com/questions/3748605/…
    • setClassName 不起作用,没有这条线它可以工作,但如果有一些 3rd 方应用程序,如 Line CameraPaper Camera 安装在你手机上面的action会打开一个选择器。那么如何在不显示选择器的情况下打开默认相机呢?
    • 检查camera-app的包和类是什么,并将这些信息放在setClassName中。
    【解决方案2】:
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);            
     startActivityForResult(intent, TAKE_PICTURE);
    

    【讨论】:

      【解决方案3】:
      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"/>
      

      【讨论】:

      • 这要求选择器。我只想启动原生安卓相机,我想隐藏选择器意味着它直接打开原生相机应用程序。
      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2013-10-15
      • 1970-01-01
      • 2021-11-15
      相关资源
      最近更新 更多