Прикрепление файлов в WebView

230
16 июня 2018, 00:10

Есть сайт мобильной версии, там в форме есть input для файла. Туда надо прикрепить файл. Никак не могу разобраться в прикрепление файла в input.

MainActivity.java

package ru.test.test; 
 
import android.content.Intent; 
import android.net.Uri; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.Window; 
import android.webkit.ValueCallback; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.webkit.WebChromeClient; 
 
public class MainActivity extends AppCompatActivity { 
    private WebView mWebView; 
    private ValueCallback<Uri> mUploadMessage; 
    private final static int FILECHOOSER_RESULTCODE=1; 
 
 
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, 
                                    Intent intent) { 
        if(requestCode==FILECHOOSER_RESULTCODE) 
        { 
            if (null == mUploadMessage) return; 
            Uri result = intent == null || resultCode != RESULT_OK ? null 
                    : intent.getData(); 
            mUploadMessage.onReceiveValue(result); 
            mUploadMessage = null; 
 
        } 
    } 
 
 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
        mWebView = new WebView(this); 
        mWebView.getSettings().setJavaScriptEnabled(true); 
        mWebView.setWebChromeClient(new WebChromeClient()); 
        mWebView.loadUrl("http://test.test/"); 
        mWebView.setWebViewClient(new WebViewClient() 
        { 
        public void openFileChooser(ValueCallback<Uri> uploadMsg) 
        { 
 
            mUploadMessage = uploadMsg; 
            Intent i = new Intent(Intent.ACTION_GET_CONTENT); 
                i.addCategory(Intent.CATEGORY_OPENABLE); 
                i.setType("image/*"); 
            MainActivity.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE); 
 
        } 
    }); 
 
            setContentView(mWebView); 
        } 
 
    @Override 
    public boolean onKeyDown(final int keyCode, final KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { 
            mWebView.goBack(); 
            return true; 
        } 
        return super.onKeyDown(keyCode, event); 
    } 
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="ru.econordit.inhouse"> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" 
        tools:ignore="ProtectedPermissions" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-feature android:name="android.hardware.camera"/> 
    <uses-permission android:name="android.permission.CAMERA"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" 
        android:label="@string/app_name" 
        android:roundIcon="@mipmap/ic_launcher_round" 
        android:supportsRtl="true" 
        android:theme="@style/AppTheme"> 
        <activity android:name=".MainActivity"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
 
 
            </intent-filter> 
        </activity> 
    </application> 
 
</manifest>

READ ALSO
Как проверить AlarmManager на null?

Как проверить AlarmManager на null?

Дело в том, что у меня есть n-будильниковНажимая на кнопку, я хочу удалить все ранее созданыe и пересоздать их по новому

213
Double.MIN_VALUE - 1.0D

Double.MIN_VALUE - 1.0D

Есть код:

225
Конфигурация log4j. java-ee

Конфигурация log4j. java-ee

вот конфигурация log4j в xml:

197
Программа для записи в файл значений без перезаписи

Программа для записи в файл значений без перезаписи

В связи с тем, что я только учусь, хочу реализовать примерно такую программу, объясните как реализовать

180