0

UK 08番号の通常の固定電話番号を提供するアプリがあります。

現在、これはユーザーが目的の番号を見つけて緑色の電話アイコンをクリックしたときにアプリに表示される Web ページです。次の JavaScript を使用して、電話番号とのリンクを強制し、ダイラーを起動します。

document.location.href = 'tel:'+number;//push browser to call number

この方法は、私が見る限り、すべての新しい Android 4.0 以降で正常に機能します。しかし、古い Orange San Francisco Phone (Android 2.3) を使用すると、ダイヤラーが表示されません。代わりに、tel:01xxxxxxxx を URL として使用して新しいページを開こうとするだけで、Web ページが利用できないというメッセージが表示されます。

これは、 tel: が HTML5 の一部であり、それが機能していないためだと思います。すべてのバージョンで機能する代替手段はありますか?

4

1 に答える 1

1

tel:が好まれます - 1990 年代から。callto:一部のデバイスではより適切に機能する場合があります。関連項目:電話番号をマークアップするには?

編集

Android WebView 内でページを実行しているため、ハックでこのエラーを処理できます ( Android WebView "tel:" links show web page not foundにも記載されています)。

myWebView.setWebViewClient(new WebViewClient() {  
    @Override  
    public boolean shouldOverrideUrlLoading(WebView view, String url) {  
        if (url.startsWith("tel:")) { 
            Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); 
            startActivity(intent); 
        }
        else if(url.startsWith("http:") || url.startsWith("https:")) {
            view.loadUrl(url);
        }
        return true;  
    }  
} 

許可が必要な可能性があるもの

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
于 2013-05-02T14:28:53.727 に答える