WebViewをIntelが開発しているオープンソースライブラリCrossWalk のXWalkViewに置き換えたところ、ifream内も正常に動作してくれました!
置き換え時にやったこと
1.app/build.gradle
repositories { maven { url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2' } } android { // ... } dependencies { // ... compile "org.xwalk:xwalk_core_library:17.46.448.10" // ... }
2.Java
- webview.getSettings().setJavaScriptEnabled(true)の設定は削除(該当メソッドは無いけど、javascriptは有効になってるっぽい)
- webView.loadUrl -> loadに変更
- @JavascriptInterface -> @org.xwalk.core.JavascriptInterfaceに変更
- webview.setWebViewClient -> setResourceClientに変更
- shouldOverrideUrlLoading 継承(遷移しようとするURLの取得)。戻り値にtrue
- WebViewClient#onPageStartedのかわりにXWalkResourceClient#onLoadStartedを継承
- WebViewClient#onPageFinishedのかわりにXWalkResourceClient#onPageFinishedを継承
3.xml
- <WebView を <org.xwalk.core.XWalkViewに変更
License
3-clause BSD license(三条項BSDライセンス) (New BSD License(修正BSDライセンス ) とも呼ばれている)ライセンスと著作権の表示が必須で、商用利用、修正、配布、派生物に別の条件を課すことが可能です。
参考
- http://www.indetail.co.jp/blog/9358/
- https://crosswalk-project.org/documentation/android/android_target_setup.html
- https://github.com/crosswalk-project/crosswalk/blob/master/LICENSE
- http://qiita.com/tadsan/items/99d816e78ca429093b75#bsd%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B93%E6%9D%A1%E9%A0%85
- http://stackoverflow.com/questions/29440153/how-to-enable-javascript-in-xwalkview
0 件のコメント:
コメントを投稿