Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么添加清单捕获视频输出或捕获安全视频输出时出错?_Android_Screenshot_Screen Capture - Fatal编程技术网

Android 为什么添加清单捕获视频输出或捕获安全视频输出时出错?

Android 为什么添加清单捕获视频输出或捕获安全视频输出时出错?,android,screenshot,screen-capture,Android,Screenshot,Screen Capture,面对这样的问题。在实现这段代码时,出现了一个例外: DisplayMetrics DisplayMetrics=getResources().getDisplayMetrics(); int mDensity=displayMetrics.densityDpi DisplayManager dM = (DisplayManager) getSystemService(ContextWrapper.DISPLAY_SERVICE); ImageReader imR

面对这样的问题。在实现这段代码时,出现了一个例外:

DisplayMetrics DisplayMetrics=getResources().getDisplayMetrics(); int mDensity=displayMetrics.densityDpi

        DisplayManager dM = (DisplayManager) getSystemService(ContextWrapper.DISPLAY_SERVICE);

        ImageReader imR = ImageReader.newInstance(300, 300, PixelFormat.RGBA_8888, 2);


        VirtualDisplay vD = dM.createVirtualDisplay("VladScreen", 300, 300, mDensity, imR.getSurface(), DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC);
例外情况如下:

 java.lang.SecurityException: Requires CAPTURE_VIDEO_OUTPUT or CAPTURE_SECURE_VIDEO_OUTPUT permission, or an appropriate MediaProjection token in order to create a screen sharing virtual display.
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.os.Parcel.readException(Parcel.java:1599)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.os.Parcel.readException(Parcel.java:1552)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.hardware.display.IDisplayManager$Stub$Proxy.createVirtualDisplay(IDisplayManager.java:484)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.hardware.display.DisplayManagerGlobal.createVirtualDisplay(DisplayManagerGlobal.java:377)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.hardware.display.DisplayManager.createVirtualDisplay(DisplayManager.java:537)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.hardware.display.DisplayManager.createVirtualDisplay(DisplayManager.java:529)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.hardware.display.DisplayManager.createVirtualDisplay(DisplayManager.java:480)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at com.example.novoseltsev.applicationpopupwindow.MainActivity.onCreate(MainActivity.java:106)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.Activity.performCreate(Activity.java:6237)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.ActivityThread.-wrap11(ActivityThread.java)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.os.Looper.loop(Looper.java:148)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5417)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-27 04:03:30.321 7739-7739/com.example.novoseltsev.applicationpopupwindow W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-27 04:03:30.363 7739-11879/com.example.novoseltsev.applicationpopupwindow D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
据我所知,未将其添加到permisson
CAPTURE\u VIDEO\u OUTPUT
CAPTURE\u SECURE\u VIDEO\u OUTPUT

但是在添加manifest.xml之后,异常仍然存在

<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"/>


您使用哪个android版本?如果是安卓6.0棉花糖,你需要申请许可

它用于系统服务,而不是第三方的应用程序

创建不限于自己内容的公共虚拟显示只会隐式创建自动镜像显示。有关允许谁创建自动镜像显示的限制,请参阅虚拟显示标志自动镜像

......
创建自动镜像虚拟显示需要“捕获视频输出”或“捕获安全视频输出”权限。这些权限保留供系统组件使用,不可用于第三方应用程序。或者,可以使用适当的媒体投影来创建自动镜像虚拟显示

我使用安卓5.0。