web-dev-qa-db-ja.com

プロパティ「camera.hal1.packagelist」の検索が拒否されました

サービス中にカメラを使用中にモバイル画面がタッチ不可になり(透明ウィンドウでロック)、以下のエラーのみが発生します

Access denied finding property "camera.hal1.packagelist"

理由とその解決策は何ですか?助けてください..

25
amin

Androidのカメラアプリ用のOpenCVチュートリアルコードを使用していました。私は同じエラーに遭遇し、答えを見た後、実際に1つの許可を逃しました。

<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>

この許可がないと、アプリはデータを外部に保存しませんが、アクセス拒否エラーが発生します。それが役に立てば幸い。

2
Yipeng Zhang

アプリで同じエラーが発生しました。サーフェスビューを使用していて、重みをゼロに設定していました。私はそれを1に戻し、エラーは解決しました。 xmlコードを確認してください。役立つ場合があります。

1
Aqib Qureshi

テストデバイス「LG V30」のCamera 1 APIで同じ問題が発生しました。このメッセージ(Access denied finding property "camera.hal1.packagelist")このようにカメラを開いたときに表示されました:

int numberOfCameras = Camera.getNumberOfCameras();
CameraInfo cameraInfo = new CameraInfo();
for (int i = 0; i < numberOfCameras; i++) {
    Camera.getCameraInfo(i, cameraInfo);
    if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
        camera = Camera.open(i);
        cameraId = i;
    }
}

重要なのは、これはLG V30、2台のバックカメラ(numberOfCameras=3)。

いくつかのテストの後、これがこのデバイスで機能することがわかりました。

/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
    Camera c = null;
    try {
        c = Camera.open(); // attempt to get a Camera instance
    }
    catch (Exception e){
        // Camera is not available (in use or does not exist)
    }
    return c; // returns null if camera is unavailable
}

上記のコード例は、複数のカメラを搭載したデバイス上の最初の背面カメラにアクセスします。 ここ 詳細な説明があります。

ユーザーにカメラの許可を求めているかどうかを確認してください。マニフェストで許可を指定するだけでは、特定のAndroidレベル以上では機能しません。
これで問題が解決します。

許可を求める方法は次のとおりです link

0
akkilis