Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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
C# 为什么照相机不能在Xamarin WebView上工作?_C#_Xamarin_Xamarin.forms_Webview - Fatal编程技术网

C# 为什么照相机不能在Xamarin WebView上工作?

C# 为什么照相机不能在Xamarin WebView上工作?,c#,xamarin,xamarin.forms,webview,C#,Xamarin,Xamarin.forms,Webview,我有一个简单的Xamarin页面,在WebView中调用WebRTC页面: 该页面在同一Android设备上的Chrome上运行良好,但在WebView上不工作,因为没有错误 AndroidManifest.xaml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android

我有一个简单的Xamarin页面,在WebView中调用WebRTC页面: 该页面在同一Android设备上的Chrome上运行良好,但在WebView上不工作,因为没有错误

AndroidManifest.xaml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.dpwcam">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
    <application android:label="DPWCAM.Android" android:networkSecurityConfig="@xml/network_security_config"></application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-feature android:name="android.hardware.camera" android:required="true" />
</manifest>
WebViewPage.xaml:

<StackLayout>
            <Entry x:Name="CameraName"></Entry>
            <Button x:Name="Navigate" Clicked="NavigateButton_Clicked" Text="Save"></Button>
            <dpwcam:MyWebView
                x:Name="webView"
                HeightRequest="500"
                WidthRequest="500"/>
        </StackLayout>
然后我开始在谷歌上搜索答案,但没有找到解决我的问题的办法。我找到的所有答案都是关于权限的,我已经做到了


那怎么了?谢谢

当targetSdkVersion大于23时,可能会出现无法显示移动视频的情况(摄像头未自动打开),需要动态授权。您似乎没有正确请求运行时权限。@LeoZhu MSFT谢谢您的回答,这是关于运行时权限的,是我的错:(@Cheesebaron谢谢你说得对:)
public class MyWebView : WebView
    {
    }
<StackLayout>
            <Entry x:Name="CameraName"></Entry>
            <Button x:Name="Navigate" Clicked="NavigateButton_Clicked" Text="Save"></Button>
            <dpwcam:MyWebView
                x:Name="webView"
                HeightRequest="500"
                WidthRequest="500"/>
        </StackLayout>
void NavigateButton_Clicked(object sender,EventArgs args)
        {
            _cameraName = CameraName.Text;
            
            webView.Source = $"https://cam.AnyDomain.com.tr?Name={_cameraName}";
            
        }