タグ

webviewに関するhamu-techのブックマーク (3)

  • [メモ] Javascript を使った Android WebView と Webページの連携

    今回はAndroidというよりはJavascriptの知識不足が原因でしたが、かなり苦労したのでこれもメモ。 求められた機能が、Webページの自動リロードだったのでWebViewクラスをreload()すればいいだろう、と簡単に考えていたら、なぜか、表示対象予定のページが、reloadするとトップページに戻ってしまう。 良くわからないが、いまどきframesetを使ったフレーム形式のサイトで、かつ、javascriptを変に階層を持たせて作ってあって、直接フレーム内のページにアクセスしても何も表示されない、みたいな作りになっていたので、その辺のおかしなつくりが原因だと思われる。(結構大きい組織の公式ページなんだけど、一体どこのWEB屋さんが作ったサイトなんだか…) で、いろいろ調べた結果、実はAndroidアプリ内に実装するWebViewは、Javascriptを直接呼び出したりすることが

  • AndroidのWebViewで音声を再生する

    Webページに音声を再生する仕組みが組み込まれている場合があるのですが、AndroidのWebViewは、そのままではそれを再生してくれません。何かプログラムを書いてやらなければいけないようです。 参考にすべきは、Androidの公式ドキュメントのこの記事でしょう。 音声を再生する場合、利用する主要なクラスはMediaPlayerとAudioManagerです。これらのクラスの機能を利用するために、マニフェストに記述しなければならないことは特になさそうですが、インターネット経由で音声ファイルにアクセスする場合や、音声の再生中にデバイスがスリープしてしまうのを防ぎたい場合は、それぞれINTERNETとWAKE_LOCKパーミッションを許可する必要があります。 ネット上の音声ファイルを再生するには、次のようにしてUriを指定します。 try { String url = "http://...

    AndroidのWebViewで音声を再生する
  • 【Android】WebView内のJavaScriptやHTMLと相互連携する方法

    今回は、WebView内に書かれたJavaScriptをアプリ側から起動したり、 HTML内のリンクタップをアプリ側で検知したり、 アプリ側からJavaScriptを介す事によって値をWebView内へ渡したり、 逆にWebView内の値をアプリへ渡す様な相互連携を行う方法について サンプルコード付きで解説します。 まずは、アプリを外部のインターネットへ接続出来る様に権限を指定する必要がありますので、 権限の付加方法から解説しましょう。 マニュフェストの設定でインターネット通信を許可しよう アプリ内のブラウザ。webViewを設置しよう WebViewに対してJavaScriptを実行しよう リンクタップ等、ロケーションの変更を検知する マニュフェストの設定でインターネット通信を許可しよう デフォルトでは、アプリから外部のインターネットへ接続する事は出来ません。 そこで、アプリ毎にインター

    【Android】WebView内のJavaScriptやHTMLと相互連携する方法
  • 1