Разрешение камеры не работает Android WebView ⇐ JAVA
-
Anonymous
Разрешение камеры не работает Android WebView
Я пытаюсь создать приложение webview. Я попытался добавить доступ к манифесту, но это ничего не изменило. В браузере хром камера работает, не могу понять что делать.
1. Это манифест:
2. Основная деятельность
import android.graphics.Bitmap; импортировать android.os.Build; импортировать android.os.Bundle; импортировать android.support.v7.app.AppCompatActivity; импортировать android.view.View; импортировать android.webkit.PermissionRequest; импортировать android.webkit.WebChromeClient; импортировать android.webkit.WebSettings; импортировать android.webkit.WebView; импортировать android.webkit.WebViewClient; импортировать android.widget.ProgressBar; публичный класс MainActivity расширяет AppCompatActivity реализует MyWebChromeClient.ProgressListener{ частный ProgressBar chromeProgressBar; Веб-просмотр @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); myWebView = (WebView) findViewById(R.id.webview); //chromeProgressBar = (ProgressBar) findViewById(R.id.progressBarChrome); //Настройки WebSettings webSettings = myWebView.getSettings(); myWebView.getSettings().setTextSize(WebSettings.TextSize.NORMAL); webSettings.setJavaScriptEnabled(истина); webSettings.setDomStorageEnabled(истина); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { webSettings.setAllowUniversalAccessFromFileURLs (истина); webSettings.setAllowFileAccessFromFileURLs (истина); } webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setAllowFileAccess(истина); //webSettings.setLoadsImagesAutomatically(true); //инициализируем клиент //загружаем сайт по URL myWebView.loadUrl("https://www.voyage-app.eu/asti-app/admin/index.php"); //регистрируем токен для уведомления // это.onStart(); chromeProgressBar = (ProgressBar) findViewById(R.id.progressBar); myWebView.setWebChromeClient(новый WebChromeClient() { // Предоставление разрешений для камеры @Override public void onPermissionRequest (окончательный запрос PermissionRequest) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { request.grant(request.getResources()); } } }); myWebView.setWebViewClient(новый WebViewClient() { @Override public void onPageStarted (представление WebView, URL-адрес строки, значок растрового изображения) { super.onPageStarted(просмотр, URL, значок); chromeProgressBar.setVisibility(View.VISIBLE); } @Override public void onPageFinished (представление WebView, URL-адрес строки) { super.onPageFinished(просмотр, URL); chromeProgressBar.setVisibility(View.GONE); } }); } @Override public void onUpdateProgress (int ProgressValue) { chromeProgressBar.setProgress(progressValue); если (прогрессЗначение == 100) { chromeProgressBar.setVisibility(View.INVISIBLE); } } публичный класс WebViewController расширяет WebViewClient { @Override public boolean mustOverrideUrlLoading (представление WebView, URL-адрес строки) { view.loadUrl(url); вернуть истину; } } @Override публичная пустота onBackPressed() { если (myWebView.canGoBack()) myWebView.goBack(); еще супер.onBackPressed(); } } Я не думаю, что мне следует публиковать файл PHP, поскольку в браузере Chrome страница работает. Это происходит следующим образом:
[*]Вы заходите на страницу [*]Браузер Chrome запрашивает разрешение на использование камеры. [*]Камера начинает работать
Я пытаюсь создать приложение webview. Я попытался добавить доступ к манифесту, но это ничего не изменило. В браузере хром камера работает, не могу понять что делать.
1. Это манифест:
2. Основная деятельность
import android.graphics.Bitmap; импортировать android.os.Build; импортировать android.os.Bundle; импортировать android.support.v7.app.AppCompatActivity; импортировать android.view.View; импортировать android.webkit.PermissionRequest; импортировать android.webkit.WebChromeClient; импортировать android.webkit.WebSettings; импортировать android.webkit.WebView; импортировать android.webkit.WebViewClient; импортировать android.widget.ProgressBar; публичный класс MainActivity расширяет AppCompatActivity реализует MyWebChromeClient.ProgressListener{ частный ProgressBar chromeProgressBar; Веб-просмотр @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); myWebView = (WebView) findViewById(R.id.webview); //chromeProgressBar = (ProgressBar) findViewById(R.id.progressBarChrome); //Настройки WebSettings webSettings = myWebView.getSettings(); myWebView.getSettings().setTextSize(WebSettings.TextSize.NORMAL); webSettings.setJavaScriptEnabled(истина); webSettings.setDomStorageEnabled(истина); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { webSettings.setAllowUniversalAccessFromFileURLs (истина); webSettings.setAllowFileAccessFromFileURLs (истина); } webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setAllowFileAccess(истина); //webSettings.setLoadsImagesAutomatically(true); //инициализируем клиент //загружаем сайт по URL myWebView.loadUrl("https://www.voyage-app.eu/asti-app/admin/index.php"); //регистрируем токен для уведомления // это.onStart(); chromeProgressBar = (ProgressBar) findViewById(R.id.progressBar); myWebView.setWebChromeClient(новый WebChromeClient() { // Предоставление разрешений для камеры @Override public void onPermissionRequest (окончательный запрос PermissionRequest) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { request.grant(request.getResources()); } } }); myWebView.setWebViewClient(новый WebViewClient() { @Override public void onPageStarted (представление WebView, URL-адрес строки, значок растрового изображения) { super.onPageStarted(просмотр, URL, значок); chromeProgressBar.setVisibility(View.VISIBLE); } @Override public void onPageFinished (представление WebView, URL-адрес строки) { super.onPageFinished(просмотр, URL); chromeProgressBar.setVisibility(View.GONE); } }); } @Override public void onUpdateProgress (int ProgressValue) { chromeProgressBar.setProgress(progressValue); если (прогрессЗначение == 100) { chromeProgressBar.setVisibility(View.INVISIBLE); } } публичный класс WebViewController расширяет WebViewClient { @Override public boolean mustOverrideUrlLoading (представление WebView, URL-адрес строки) { view.loadUrl(url); вернуть истину; } } @Override публичная пустота onBackPressed() { если (myWebView.canGoBack()) myWebView.goBack(); еще супер.onBackPressed(); } } Я не думаю, что мне следует публиковать файл PHP, поскольку в браузере Chrome страница работает. Это происходит следующим образом:
[*]Вы заходите на страницу [*]Браузер Chrome запрашивает разрешение на использование камеры. [*]Камера начинает работать
Мобильная версия