我不是Android开发人员。对于我的应用程序的一些测试目的,我必须创建一个打开相机并拍照的应用程序:
我能够通过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的线索来了:
我按照说明将我的应用程序添加到/ system /文件夹,但面临同样的问题。
无论如何,我们可以解决这个问题吗?
我知道选项可能是创建一个具有表面布局的应用程序,但我不是Android开发人员,如果我不需要,我不想去那条路。
有关如何实现这一目标的任何建议?