标签: android-camera-intent

相机"确定"按钮无法正常工作

嘿伙计我刚为用户添加了一项功能,可以从我的应用程序中捕获图片,并且我已正确设置相机意图[我至少相信如此].我在'xml'文件中设置了一个按钮,并在'class/java'文件中相应地设置了intent和按钮.当测试应用程序按钮工作并加载本机Android 4.0.4相机,并拍摄照片很好,但当我点击'选中标记'[旧版Android上的'确定'按钮]它不会返回到应用程序.相机仍然保持所有功能,它不会冻结或任何东西.我仍然可以选择重拍,或选择取消; 只是'确定/选中标记'按钮不起作用.


public class XXXXXXXXXXX extends Activity 
{

    Button button;
    String path;
    boolean taken;

    static final String PHOTO_TAKEN = "photo_taken";

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.XXXXXXXX);

        button = ( Button ) findViewById( R.id.take_picture );
        button.setOnClickListener( new ButtonClickHandler() );
        path = Environment.getExternalStorageDirectory() + "/images/testing-cam.jpg";

    }


    public class ButtonClickHandler implements View.OnClickListener 
        {
            public void onClick( View view )
            {
                Log.i("Button", ".onClick()" );
                startCameraActivity();
            }
        }

        protected void startCameraActivity()
        {
            Log.i("Start", "CameraActivity()" );
            File file = new File( _path ); …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent

1
推荐指数
1
解决办法
1915
查看次数

Android:从相机中获取图片 - 小心

最近我写了一个Android应用程序,需要从相机中的构建中拍摄照片并将其恢复到我的应用程序中.我使用了许多教程中的一个,一切正常.但后来我在另一台设备上测试了它并没有任何功能.似乎有问题,所以我如何确保我可以在每台设备上拍照?(看我的回答,这更像是一个教程)

camera android android-camera android-camera-intent

1
推荐指数
1
解决办法
2262
查看次数

从图库/相机/ DropBox等中选择图像

如何给用户从选择图像选项Camera/ Gallery/ DropBox或任何其他文件从设备系统,并显示在一个活动作为一个ImageView对象.

android imageview android-camera-intent

1
推荐指数
1
解决办法
3845
查看次数

应该在哪里处理onActivityResult,对话框片段,片段或活动?

在我的Android应用程序中,我有一个片段,用户可以从图库或相机添加图片.我已经创建了一个警告对话框并将其放在DialogFragment中.当用户选择一个选项时,我调用startActivityForResult.我的问题是,理想情况下,这个结果应该在哪里处理?(即我应该在哪里放置onActivityResult?)在DialogFragment类中,主机片段还是主机活动?有关系吗?

android fragment android-camera-intent dialogfragment onactivityresult

1
推荐指数
1
解决办法
5154
查看次数

在android中拍照

是否可以拍摄开放式相机?我尝试了意图,但它的开放相机,但我不想打开相机.我试过跟随

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, 1);
Run Code Online (Sandbox Code Playgroud)

然后接收活动.但是如何打开相机?

android android-camera android-camera-intent

1
推荐指数
1
解决办法
169
查看次数

从前置摄像头捕获图像后如何消除镜面效果?[Android]

基本上我创建了一个不添加视频录制的简单android相机应用程序,我点击了此链接 android相机应用程序教程链接

问题是当我从前置摄像头捕获图像时,单击捕获按钮后,显示镜像的图像就像我们站在镜子前面一样。例如我有右侧箭头图像,但是当我捕获时,它会预览左侧箭头。对不起英语。

camera android android-camera android-camera-intent android-studio

1
推荐指数
2
解决办法
2879
查看次数

将图像传递给另一个活动时,图像会丢失原始结果

我正在申请我的相机功能.我正在捕捉图像并将其传递给另一个活动.我现在面临的问题是,当我在另一个活动展示形象就失去原来的结果(获得异样)出于某种原因.这就是我这样做的方式:

private void takePhotoFromCamera() {
        if(ActivityCompat.checkSelfPermission(EnterDataView.this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }else {
            String[] permissionRequest = {Manifest.permission.CAMERA};
            requestPermissions(permissionRequest, 8675309);
        }
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode == RESULT_OK || resultCode != RESULT_CANCELED){
            if(requestCode == CAMERA_REQUEST){
                Bitmap mphoto = (Bitmap) data.getExtras().get("data");

                Intent passPhoto = new Intent(this, Photo.class);
                passPhoto.putExtra("byteArray",mphoto);

                passPhoto.putExtra("Caller", getIntent().getComponent().getClassName());
                startActivity(passPhoto);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

在其他活动中获取图像:

if(getIntent().hasExtra("byteArray")) {
            //ImageView _imv= new ImageView(this);
            /*Bitmap _bitmap = BitmapFactory.decodeByteArray(
                    getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);*/
            Intent intent_camera = getIntent();
            Bitmap …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent android-bitmap

1
推荐指数
1
解决办法
221
查看次数

ACTION_IMAGE_CAPTURE 返回图像质量较差的位图,我在哪里可以获得高分辨率图像?

我希望高质量的图像显示ImageView并上传到服务器。我已经在 Internet、StackOverflow 和 GitHub 上搜索过,但找不到答案,也许有人知道如何解决?

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { //work android
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    imageReturnedIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);//try

    if (resultCode == RESULT_OK ) {// work every android than need click OK
      //working
        Uri selectedImage = imageReturnedIntent.getData();//convert to for bitmap that can send
        Bundle extras = imageReturnedIntent.getExtras();//finish converting and copy the image
        bitmap = extras.getParcelable("data");//receive image to bitmap
        imageView.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)

onCreate

btnCamera.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            //intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); …
Run Code Online (Sandbox Code Playgroud)

android imageview android-camera android-camera-intent

1
推荐指数
1
解决办法
5093
查看次数

调用相机应用程序(权限拒绝:启动 Intent)

我的片段正在尝试启动相机活动,但似乎存在一些相机权限问题,

在调试时,它只持续到代码行以下

startActivityForResult(callCameraApplicationIntent, CAMERA_PIC_REQUEST);

Run Code Online (Sandbox Code Playgroud)

下面是 logcat 结果

java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=android/com.android.internal.app.ResolverActivity clip={text/uri-list U:content://com.example.tc.provider/external_files/Pictures/photo_saving_app/IMAGE_20191205_070208.jpg} (has extras) } from ProcessRecord{8920903 18662:com.example.tc/u0a343} (pid=18662, uid=10343) with revoked permission android.permission.CAMERA
        at android.os.Parcel.readException(Parcel.java:2016)
        at android.os.Parcel.readException(Parcel.java:1962)
        at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4452)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1617)
        at android.app.Activity.startActivityForResult(Activity.java:4551)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
Run Code Online (Sandbox Code Playgroud)

以下是似乎需要的代码部分。


        if (Build.VERSION.SDK_INT > 21) { //use this if Lollipop_Mr1 (API 22) or above
            Intent callCameraApplicationIntent = new Intent();
            callCameraApplicationIntent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);

            // We give some instruction to the intent to save the image
            File photoFile = null;

            try { …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-camera android-camera-intent android-permissions

1
推荐指数
1
解决办法
2351
查看次数

Android Webview 文件和相机上传 - Kotlin

我已经尝试过这个并且也测试了这个代码。如果我需要从文件浏览器上传,两者都可以正常工作,但我需要可以在文件浏览器或相机之间进行选择。

我可以找到很多 Java 示例来执行此操作,但我找不到使用 Kotlin 完成的工作版本。下面是我当前的webview 文件上传器代码:

活动结果:

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        {
            if(requestCode == REQUEST_SELECT_FILE){
                if(uploadMessage != null){
                    uploadMessage?.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode,data))
                    uploadMessage = null
                }
            }
        }else if(requestCode == FILECHOOSER_RESULTCODE){
            if(mUploadMessage!=null){
                var result = data?.data
                mUploadMessage?.onReceiveValue(result)
                mUploadMessage = null
            }
        }else{
            Toast.makeText(this,"Failed to open file uploader, please check app permissions.",Toast.LENGTH_LONG).show()
            super.onActivityResult(requestCode, resultCode, data)
        }
Run Code Online (Sandbox Code Playgroud)

设置WebChrome客户端:

 // For 3.0+ Devices (Start)
            // onActivityResult attached before constructor
            fun openFileChooser(uploadMsg : ValueCallback<Uri>, acceptType:String) {
                mUploadMessage = uploadMsg
                val i …
Run Code Online (Sandbox Code Playgroud)

android webview android-camera android-camera-intent kotlin

1
推荐指数
1
解决办法
6136
查看次数

相机图像太小

从最近几天开始,我遇到的相机图像问题太小,尺寸为120 x 160.

场景是当我从相机捕获图像并将该图像转换为byte []时,它变得太小.

以下是我使用的代码:

 Bitmap unscaledBitmap  = (Bitmap) data.getExtras().get("data");
 ByteArrayOutputStream bytes = new ByteArrayOutputStream();
 unscaledBitmap  .compress(Bitmap.CompressFormat.PNG, 30, bytes);
 byte[] bytesDoc1 = bytes.toByteArray();
Run Code Online (Sandbox Code Playgroud)

对此没有任何了解,但是我已经尝试了许多解决方案,但都没有为我工作.

请帮我.

android bytearray bitmap android-camera android-camera-intent

0
推荐指数
1
解决办法
1745
查看次数

从相机意图接收低质量图像

我正在尝试使用相机将图像上传到 firebase。但是,我得到的图像质量太低(不可读)。我编写了以下代码(没有编译错误)。但是,无法理解为什么它无法生成可读的图像。

我尝试改变 bitmap.compress 的质量参数,但图像质量保持不变。但相同的压缩代码适用于来自图库的图像。

uploadPp.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {


            AlertDialog.Builder builder;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                builder = new AlertDialog.Builder(infoPp.this, android.R.style.Theme_Material_Dialog_NoActionBar_MinWidth);
            } else {
                builder = new AlertDialog.Builder(infoPp.this);
            }
            builder.setTitle("Picture Source")
                    .setMessage("Select source of picture")
                    .setPositiveButton("Camera", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
                                startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE_CNIC);
                            }

                        }
                    })
                    .setNegativeButton("Gallery", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            Intent intent = …
Run Code Online (Sandbox Code Playgroud)

android-camera-intent

0
推荐指数
1
解决办法
3915
查看次数

找不到用于处理Intent com.android.camera.action.CROP的活动

我正在尝试从我的应用程序中制作图片。我可以启动相机并拍照,但是完成拍照后我的应用程序崩溃。我在屏幕上看到我的Galery已停止,这是我的日志中的错误:

我试图找到一些东西,但是对我有帮助。

提前致谢

FATAL EXCEPTION: main
                                                   android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.camera.action.CROP dat=file:///data/data/com.android.gallery3d/files/crop-temp (has extras) }
                                                       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
                                                       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1423)
                                                       at android.app.Activity.startActivityForResult(Activity.java:3388)
                                                       at android.app.Activity.startActivityForResult(Activity.java:3349)
                                                       at com.android.camera.actor.PhotoActor.doAttach(PhotoActor.java:1125)
                                                       at com.android.camera.actor.PhotoActor.access$500(PhotoActor.java:62)
                                                       at com.android.camera.actor.PhotoActor$2.onClick(PhotoActor.java:210)
                                                       at android.view.View.performClick(View.java:4209)
                                                       at android.view.View$PerformClick.run(View.java:17431)
                                                       at android.os.Handler.handleCallback(Handler.java:725)
                                                       at android.os.Handler.dispatchMessage(Handler.java:92)
                                                       at android.os.Looper.loop(Looper.java:153)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5297)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:511)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                       at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

@Override
    public void onButton1Click(int ref) {
        try {
            currentRef = ref;
            Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            Uri fileUri = FileProvider.getUriForFile(getActivity(), BuildConfig.APPLICATION_ID + …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent

-1
推荐指数
1
解决办法
1644
查看次数