22716


## 知りたい内容

a href="tel:～" で電話発信するためのCordovaプラグインを知りたい。  
  

## 背景・実現したいこと

現在MonacaでHTML5ハイブリッドアプリを制作しています。  
対象OSはiPhone・Androidの2種類です。

Cordovaプラグインがデフォルトでインストールされているデバッガーでは、  
`<a href="tel:000-1111-2222">00-1111-2222</a>` などと記述した箇所を  
実機でタップすると電話発信されますが、リリースビルドをして実機テストを  
すると発信されません。

恐らく、リリースビルドとデバッグ環境ではCordovaプラグインの環境が  
異なるため生じたバグではと疑っていますが、これを解決するための  
プラグインはどのようなものが想定できるでしょうか。  
  

## 現在インストールされているCordovaプラグイン

  * Geolocation
  * InAppBrowser
  * MonacaPlugin
  * Splashscreen
  * Whitelist


CC BY-SA 3.0
2016-03-01T16:10:40.260
22712
2016-03-02T07:05:15.087
2020-06-17T08:14:45.997
-1
14486
question
monaca cordova
Cordovaプラグインで電話発信を機能させたい


OSはどちらになるのでしょうか？  
とりあえず説明だけ……

実装方法はいくつかありますが電話番号のリンクは  
iOSでは`InAppBrowser`の`_system`、  
Androidでは`WebIntent`を使用して開きます。  
上記はCordovaプラグインの設定から追加します。

また、他の方法では  
文章中の電話番号の認識は`META`で封じているかと思います。  
数字を全て電話番号として扱うのであれば、これを外すのも一つです  
(※実際に電話番号以外の数字もリンクしてしまうのであまりオススメは出来ませんが……）

* * *

aタグでも`target`を記載すれば動いたような……  
そのままaタグを使用すると1つ問題があり、現在のページを上書きしてしまいます。  
(※今のMonacaを触っていないので、もしかするとアップデートに伴いWhitelistの関係で上書きできないかも……)  
※自分の昔のコード見るとiOSはこれで飛んでいたっぽい……  
`location.href="tel:"+tel_number;`

恐らく現在のページには`components`の読み込みがあるかと思いますが、  
それが読み込まれなくなるとアプリは制御を失います。  
ですので、出来る限りaタグで遷移するのではなく`javascript`で制御して遷移しましょう。  
それがアプリと関係ないページであれば、尚更必要かと思います。


CC BY-SA 3.0
2016-03-02T00:25:49.857
22716
2016-03-02T07:05:15.087
2016-03-02T07:05:15.087
22712
answer