我努力工作并研究了许多不同的东西,其中大部分都把我带到了死胡同。
TJ VanToll 使用 inappbrowser 插件向 postMessage API 发布了一个很棒的工作,但是这似乎不适用于我的 android(我没有尝试过 iphone)。TJ 的解决方案启发了我使用 digits-cordova 的 oAuth 解决方案。
您可以在https://github.com/yangli1990/digits-cordova.git找到我的解决方案
或者干脆用凉亭安装
请记住,如果 Fabrics 团队想出一种更原生的方式来将数字与 cordova/phonegap 应用程序集成,那么这个解决方案将会过时。
bower install digits-cordova
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
/* Optional cordova plugins */
cordova plugin add com.simonmacdonald.telephonenumber
cordova plugin add com.rjfun.cordova.sms
这个库运行良好,因为您还可以选择允许您的应用程序自动填充电话号码和位置,还可以拦截 SMS 以自动继续。
在您的 html 中确保您有适当的 javascript 链接
<!-- optional -->
<script type="text/javascript" src="bower_components/telephonenumber.js"></script>
<script type="text/javascript" src="bower_components/SMS.js"></script>
<!-- required -->
<script type="text/javascript" src="bower_components/inappbrowser.js"></script>
<script type="text/javascript" src="bower_components/digitsCordova.js"></script>
在你的 app.js
function openDigits(){
var digits = new DigitsCordova('gmoaaZhEG88hMQUdpWHnF1IAz'); //Replace with your own consumerKey
digits.open()
.successCallback(function(loginResponse){
var oAuthHeaders = loginResponse.oauth_echo_headers;
var verifyData = {
authHeader: oAuthHeaders['X-Verify-Credentials-Authorization'],
apiUrl: oAuthHeaders['X-Auth-Service-Provider']
};
$.post('/verify', verifyData)
.done(function(){ window.reload(); });
}).failCallback(function(error){
//error
}).errorCallback(function(error){
//error
})
}
openDigits();
您可以在 github 页面上阅读有关 api 的信息,您可以选择打开或关闭自动填充和 smsIntercept 的一些选项。