Кнопка "Загрузить" Moodle на моем сайте не работает внутри Android. - PullRequest
0 голосов
/ 24 сентября 2019

Я занимаюсь разработкой приложения для Android.Я использовал webview для загрузки своего сайта Moodle;все хорошо, но кнопка "загрузить" не работает!Когда, например, я нажимаю кнопку «Загрузить», чтобы загрузить свою фотографию в профиль Moodle, ничего не происходит.Я включил в файл манифеста следующее:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />


<!--
Allows Glide to monitor connectivity status and restart failed requests if users go from a disconnected to a connected network state.
-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

И в MainActivity были добавлены следующие строки:

<if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        int hasCameraPermission = 
checkSelfPermission(Manifest.permission.CAMERA);
        Log.d(TAG, "has camera permission: " + hasCameraPermission);
        int hasRecordPermission = 
checkSelfPermission(Manifest.permission.RECORD_AUDIO);
        Log.d(TAG, "has record permission: " + hasRecordPermission);
        int hasAudioPermission = 
checkSelfPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS);
        Log.d(TAG, "has audio permission: " + hasAudioPermission);
        List<String> permissions = new ArrayList<>();
        if (hasCameraPermission != PackageManager.PERMISSION_GRANTED) {
            permissions.add(Manifest.permission.CAMERA);
        }
        if (hasRecordPermission != PackageManager.PERMISSION_GRANTED) {
            permissions.add(Manifest.permission.RECORD_AUDIO);
        }
        if (hasAudioPermission != PackageManager.PERMISSION_GRANTED) {
            permissions.add(Manifest.permission.MODIFY_AUDIO_SETTINGS);
        }

        if (!permissions.isEmpty()) {
            requestPermissions(permissions.toArray(new 
String[permissions.size()]),111);

        }
    } 

Также добавлено следующеена веб-активности:

        wvs.setWebChromeClient(new WebChromeClient() {
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onPermissionRequest(final PermissionRequest request) {
                SiteActivity.this.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        request.grant(request.getResources());
                    }
                });
            }

            @Override
            public void onPermissionRequestCanceled(PermissionRequest 
request) {
// The following line was underlined red so I commented it out!                   
//Log.d(TAG, "onPermissionRequestCanceled");
            }
        });  

После добавления вышеупомянутых строк, когда я запускаю приложение, меня просят дать разрешение, но затем в веб-просмотре открывается белая страница, и ничего не происходит!

Кроме того, запись аудио и видео не работает внутри сайта Moodle, работающего в веб-просмотре!Это также может помочь выяснить проблему!

Не могли бы вы помочь мне устранить проблему.Я высоко ценю вашу помощь.Фарамарз

...