0

我不是安卓开发者。为了对我的应用程序进行一些测试,我必须创建一个打开相机并拍照的应用程序:

我能够通过 adb 命令实现这一点,如下所示:

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

现在,我在我的应用程序中使用了这个简单的两个线性逻辑。

所以我写了以下代码:

  //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 上关注了以下主题:

Android INJECT_EVENTS 权限

我按照说明将我的应用程序添加到 /system/ 文件夹,但面临同样的问题。

无论如何,我们可以解决这个问题吗?

我知道选项可能是创建一个具有表面布局的应用程序,但我不是安卓开发人员,如果我不需要,我不想走那条路。

关于如何实现这一目标的任何建议?

4

0 回答 0