java - 权限拒绝 : starting Intent { act=android. media.action.IMAGE_CAPTURE cmp=android/com.android.internal.app.ResolverActivity }

标签 java android android-camera android-camera-intent

请帮忙!当我点击相机时,相机无法打开。我用的是android M,也许这就是问题所在。请帮我看看如何打开相机... 我正在尝试添加一些权限,但仍然不起作用。我已经在使用`

但是还是不行。请帮忙

这是我的代码

public class TambahLaporActivity extends AppCompatActivity {

    ImageView imageView;
    Integer REQUEST_CAMERA = 1, SELECT_FILE = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tambah_lapor);

        imageView = (ImageView) findViewById(R.id.image);

        CardView imageView = (CardView) findViewById(R.id.cv);
        //set a clickListener on that view
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SelectImage();
            }
        });
    }

    private void SelectImage() {
        final CharSequence[] items = { "Camera", "Gallery", "Cancel" };

        AlertDialog.Builder builder = new AlertDialog.Builder(TambahLaporActivity.this);
        builder.setTitle("Add Image");
        builder.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                if (items[i].equals("Camera")) {
                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    startActivityForResult(intent, REQUEST_CAMERA);

                } else if (items[i].equals("Gallery")) {
                    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    intent.setType("image/*");
                    startActivityForResult(intent.createChooser(intent, "Select Type"), SELECT_FILE);
                } else if (items[i].equals("Cancel")) {
                    dialogInterface.dismiss();
                }
            }
        });
        builder.show();
    }

    @Override
    public void onActivityResult(int requenstCode, int resultCode, Intent data) {
        super.onActivityResult(requenstCode, resultCode, data);

        if (resultCode == Activity.RESULT_OK) {
            if (requenstCode == REQUEST_CAMERA) {
                Bitmap bitmap = (Bitmap) data.getExtras().get("data");
                imageView.setImageBitmap(bitmap);
            } else if (requenstCode == SELECT_FILE) {
                Uri selectedImageUri = data.getData();
                imageView.setImageURI(selectedImageUri);
            }
        }
    }
}

最佳答案

我遇到了同样的问题,它与明显的依赖关系有关。我在 list 中添加了相机权限

<uses-permission android:name="android.permission.CAMERA" />

这会在构建形成中产生问题,即

Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=android/com.android.internal.app.ResolverActivity }

然后我删除了该用户权限并添加了此用户功能

    <uses-feature
        android:name="android.hardware.camera"
        android:required="true" />

这对我来说神奇地有效。我希望这也能帮助其他人。

关于java - 权限拒绝 : starting Intent { act=android. media.action.IMAGE_CAPTURE cmp=android/com.android.internal.app.ResolverActivity },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49590161/

相关文章:

android - 按顺序多次运行相同的 Asynctask

android - Ffmpeg 输出文件不能立即使用

android - 不同纵横比的变形纹理

java - 下面的任务会捕获异常吗?

java - 在 Libgdx Stage 中获取图像(或 Actor )的屏幕位置

java - 更改 Java 中的默认包是否存在风险?

java - 返回字符串而不是在 wicket 中呈现页面

c# - Unity - 如何旋转和全屏视频,在 RawImage 上使用 VideoPlayer API 播放

java - 使用变量来替换一些常量的Android API

android 在相机上显示矩形