0

私はアンドロイド開発者ではありません。私のアプリケーションのいくつかのテスト目的で、カメラをオンにして写真を撮るアプリを作成する必要がありました。

次のようなadbコマンドでこれを達成できました:

adb shell am start -a android.media.action.STILL_IMAGE_CAMERA 
adb shell input keyevent 27

さて、この単純な 2 行のロジックをアプリに組み込みたいと思います。

そこで、次のコードを書きました。

  //code to start camera preview intent
  Intent action = new Intent("android.media.action.STILL_IMAGE_CAMERA");
  action.putExtra("android.intent.extras.CAMERA_FACING", 1);       
  startActivity(action);

  //code to hit the camera button
  Instrumentation m_Instrumentation = new Instrumentation();
m_Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_CAMERA);

これを行うと、次のエラーが表示されます。

Injecting to other application requires Inject-Event permission

それについて調査している間、私は SO のスレッドに続いて actross に来ました:

Android INJECT_EVENTS パーミッション

指示に従い、アプリを /system/ フォルダーに追加しましたが、同じ問題に直面しました。

とにかく、この問題を解決できますか?

表面レイアウトを使用してアプリを作成するオプションがあることはわかっていますが、私は Android 開発者ではなく、必要がなければそのルートに行きたくありません。

どうすればそれを達成できるかについての提案はありますか?

4

0 に答える 0