首页 > 解决方案 > 从响应式网站程序中选择“选择文件”按钮时不提供相机选项

问题描述

当我在我的应用程序(WebView---响应式网站)上选择“选择文件”按钮时,我得到以下选项:“驱动器”、“音频”、“下载”、“声音选择器”、“图库”, “照片”,但我想要的是手机相机。有人可以帮忙吗,我包括我的代码副本以供审查。提前感谢您的帮助。

****activity_main.xml****

android:id="@+id/web1"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

</android.support.constraint.ConstraintLayout>

****MainActivity.java****

package com.wastefreemail.wfmconnect;


    import android.app.Activity;
    import android.os.Bundle;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Button;
    import im.delight.android.webview.AdvancedWebView;
    import android.annotation.SuppressLint;
    import android.content.Intent;
    import android.graphics.Bitmap;




public class MainActivity extends Activity implements     AdvancedWebView.Listener  {

private AdvancedWebView web1;




    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        web1 = (AdvancedWebView) findViewById(R.id.web1);
    WebSettings webSettings = web1.getSettings();
    webSettings.setJavaScriptEnabled(true);
        web1.loadUrl("https://wastefreemail.com");
    web1.setWebViewClient(new WebViewClient());
    webSettings.setAllowFileAccessFromFileURLs(true);
    webSettings.setAllowUniversalAccessFromFileURLs(true);

        // ...
    }

    @SuppressLint("NewApi")
    @Override
    protected void onResume() {
        super.onResume();
        web1.onResume();
        // ...
    }

    @SuppressLint("NewApi")
    @Override
    protected void onPause() {
        web1.onPause();
        // ...
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        web1.onDestroy();
        // ...
        super.onDestroy();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
        web1.onActivityResult(requestCode, resultCode, intent);
        // ...
    }

    @Override
    public void onBackPressed() {
        if (!web1.onBackPressed()) { return; }
        // ...
        super.onBackPressed();
    }

    @Override
    public void onPageStarted(String url, Bitmap favicon) { }

    @Override
    public void onPageFinished(String url) { }

    @Override
    public void onPageError(int errorCode, String description, String failingUrl) { }

    @Override
    public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) { }

    @Override
    public void onExternalPageRequest(String url) { }






  }

****AndroidManifest.xml****

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wastefreemail.wfmconnect">

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





<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">


</activity>
<activity android:name=".SplashScreenActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>



</activity>
</application>

</manifest>

构建.gradle(模块:应用程序)

 apply plugin: 'com.android.application'

 android {
  compileSdkVersion 28
  defaultConfig {
    applicationId "com.wastefreemail.wfmconnect"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 12
    versionName "1.2.9"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-  optimize.txt'), 'proguard-rules.pro'
    }
  }
 }

  dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation 'com.android.support:appcompat-v7:28.0.0'
  implementation 'com.android.support.constraint:constraint-layout:1.1.3'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'com.android.support.test:runner:1.0.2'
  androidTestImplementation 'com.android.support.test.espresso:espresso-     core:3.0.2'
  implementation 'com.github.delight-im:Android-AdvancedWebView:v3.0.0'

 }

标签: javaandroidandroid-studioresponsive-design

解决方案


推荐阅读