外部 USB カメラを使用する Android アプリを作成しました。カメラの画像が全画面表示され、アプリがスクリーンショットを撮り、ローカル ファイル システムに保存します。USB カメラが接続されると、次のフォルダーが作成されてストリーミングされます。
/dev/video0
カメラが切断されるたびにフォルダーが破棄されます。
この問題は、アプリがこのフォルダーから読み取る権限を持っていないことです。そのため、カメラが接続されるたびに権限を設定する必要があります。
次のコードを使用して、アプリにアクセス許可を自動的に設定させようとしました。
Process sh = Runtime.getRuntime().exec(new String[]{"su", "-c", "system/bin/sh"});
sh = Runtime.getRuntime().exec(new String[]{"chmod", "666", "/dev/video0"});
sh.waitFor();
...これにより、ユーザーにスーパーユーザーのアクセス許可を付与するように求められ、ユーザーがルートになったことを知らせるフィードバックが返されますが、フォルダーのアクセス許可が変更されていないことが端末からわかります。
どんな助けでも大歓迎です