2014-10-24 16 views
5

Ho davvero un piccolo app:telefonata cellulare o mailto non funziona affatto

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 

<body> 
    <a href="mailto:[email protected]">Send Mail</a> 
    <a href="tel: +18543458975">Call</a> 

    <button onclick="document.location.href = 'tel:+1-800-555-1234'">Click me</button> 
    <button onclick="document.location.href = 'tel:+18543458975'">Click again</button> 
</body> 
</html> 

Quando costruisco ed eseguo i link non funziona affatto.

Due settimane fa (su un'altra app) questo ha funzionato perfettamente, ma ora non funziona su questo né le mie vecchie applicazioni.

Ho esaurito le idee!

Cosa sta succedendo?

risposta

15

L'utilizzo di protocolli diversi da http/https è ora autorizzato nella whitelist e bloccato per impostazione predefinita.

http://cordova.apache.org/announcements/2014/08/04/android-351.html http://cordova.apache.org/announcements/2014/09/08/cordova-361.html

è sufficiente aggiungere mailto e tel protocolli alla whitelist.

Vedere la sezione "Whitelist applicazione esterna" di http://cordova.apache.org/docs/en/edge/guide_appdev_whitelist_index.md.html per istruzioni su cosa aggiungere alla whitelist a partire da 3.6.0.

Poiché la vulnerabilità di sicurezza che circonda questo problema è stata risolta in 3.5.1, non si desidera utilizzare 3.5.0 o si sarà vulnerabili e ricevere un avviso dal Google Play Store.

+0

avevi ragione. Funziona ora. Sono troppo nuovo nello sviluppo mobile per conoscere tutte queste cose – boyd

+9

Grande - aggiungendo '' e ' 'linee a' config.xml' risolve il problema. –

0

Mi sembrava che il bug provenisse dalla versione 3.6 di cordova su cui stavo lavorando, quindi ho installato una versione precedente (3.5) e ora funziona perfettamente!

+0

Hai già 4.0;) –

+0

provato 4.0 ma la stessa cosa. Funziona solo da 3.5 in giù – boyd

14

Immagino che le cose siano cambiate di nuovo con la nuova versione.

È necessario installare il cordova plugin whitelist:

cordova plugin add cordova-plugin-whitelist 

o se si desidera salvare il riferimento alla vostra config.xml di file:

cordova plugin add cordova-plugin-whitelist --save 

e che si deve aggiungere l'intento al file config.xml file:

<allow-intent href="mailto:*" /> 
<allow-intent href="tel:*" /> 

Potete trovare ulteriori informazioni here.

Problemi correlati