注入到另一个应用程序需要INJECT_EVENTS权限Android
问题描述:
我试图模拟点击录制按钮,当启动MediaStore.ACTION_VIDEO_CAPTURE
时。我的目标是让应用程序在意图启动时立即开始录制。但是当我运行我的代码时,我得到以下内容注入到另一个应用程序需要INJECT_EVENTS权限Android
error: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
。 INJECT_EVENTS权限只允许由系统应用程序。这是我的代码:
Uri uri = Uri.fromFile(videoFile);
Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
videoIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
videoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 15);
videoIntent.putExtra("android.intent.extras.CAMERA_FACING", 1);
videoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(videoIntent, videoRequest);
new Thread(new Runnable() {
@Override
public void run()
{
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_MEDIA_RECORD);
}
}).start();
是否有另一种解决方案,当意图启动时开始记录?
检查答案在https://stackoverflow.com/questions/22163424/android-java-lang-securityexception-injecting-to-another-application-requires/33489854,为我工作 –