###前提・実現したいこと
○Drupal8で作成したサイトをAndroidアプリを使って閲覧+操作をできるようにしたい。
○Android Webview を使用して閲覧ができるように は なりました。
○コメントや 文字のみによる記事投稿 は可能です。
**通常はブラウザから閲覧して押下すると、
PCのブラウザ⇨【ファイル選択ウィンドウ】
スマホ等のブラウザ⇨【カメラまたは写真フォルダの選択ポップアップ】
が出現します。**
○今回期待する挙動は、Androidタブレットでこのアプリを使用して「ファイルを選択」ボタンを押下すると【カメラまたは写真フォルダの選択ポップアップ】が表示され、実際にカメラで撮影した画像をアップしたり、写真フォルダから画像を選択してアップしたりすることです。
###発生している問題・エラーメッセージ
○記事作成時に写真も投稿しようと「ファイルを選択」ボタンを押下すると、反応しません。
○エラーメッセージは出ていません。
###該当のソースコード
MainActivity.java
1package net.hogehoge.hogehogeview; 2 3import android.os.Bundle; 4import android.support.v7.app.AppCompatActivity; 5import android.webkit.JavascriptInterface; 6import android.webkit.WebSettings; 7import android.webkit.WebView; 8import android.webkit.WebViewClient; 9 10public class MainActivity extends AppCompatActivity { 11 12 private WebView mWebView; 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 19 mWebView = (WebView)findViewById(R.id.webview); 20 //WebViewオブジェクトからWebSettingオブジェクトを取得 21 WebSettings webSettings = mWebView.getSettings(); 22 //webViewの設定でjavascriptを有効にする 23 mWebView.getSettings().setJavaScriptEnabled(true); 24 //標準ブラウザをキャンセル 25 mWebView.setWebViewClient(new WebViewClient()); 26 //アプリ起動 ⇨ webViewでDrupalサイトを呼び出し、表示する 27 mWebView.loadUrl("http://hogehoge.net/drupal/"); 28 29 } 30 31 @JavascriptInterface 32 public void doSomething(String input) { 33 mWebView.evaluateJavascript("http://hogehoge.net/drupal/core/modules/file/file.js", null); 34 } 35 36} 37
###試したこと
○APIレベル=19以上で、@JavascriptInterface と evaluateJavascript を使用することを知り、Drupal8の「ファイルを選択する」ボタンに関連するJavascriptファイルのアドレスを evaluateJavascript 以下に指定してみました。
○Drupal8は twig テンプレートエンジンのテンプレートファイルで動いているので、evaluateJavascriptで引っ掛けるJavascriptをサーバー内の .js ファイルに指定してみました。
###補足情報(言語/FW/ツール等のバージョンなど)
○Android Studio Version 2.2.3
○Minimum SDK API 19:Android4.4(KitKat)
○実機テスト端末 ASUS K01U (Android5.0)
◉上記 MainActivity.java へのアドバイスや「もっとこうしたほうがいい」などの情報などございましたら、後学のために是非教えてください!【2017.01.18追記】
あなたの回答
tips
プレビュー