私はGoogleのEasyPermissionsライブラリを使用しています。私のアプリでは、ビデオを録画するボタンと画像をキャプチャするボタンの2つのボタンがあります。どちらもカメラ権限を必要とするため、両方とも@AfterPermissionGranted
と注釈が付けられています。写真を撮るための許可が与えられた後に両方のメソッドが実行されます
@Override
@AfterPermissionGranted(RC_CAMERA_PERM)
public void openCameraToRecordVideo() {
if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// Code here
}
と同様:
@Override
@AfterPermissionGranted(RC_CAMERA_PERM)
public void openCameraToCaptureImage() {
if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// Code here
}
私はあろう一人のユーザーがわからないので、彼らは両方の権限でアノテートされている
ので、映像を記録するために、私の方法は、このようになります。最初にクリックします。
ユーザーがボタンを1つクリックしてアクセス権を受け入れると、の両方がメソッドを順番に実行します。明らかに私が望む行動ではありません。
このような状況を処理する方法については、本当に助けていただきたいと思います。 ありがとうございます。
これは私が最終的に行ったことです。 2つのブール型フィールド、 'recordVideo'と' captureImage'を追加しました。どのボタンがクリックされたかに基づいて、適切なフィールドをtrueに設定しました。そして 'openCamera()'が実行されるとき、どのフィールドが真であるかをチェックし、適切なopenCameraXXX関数を開始します。ご回答有難うございます。 – Mes