您好,登錄后才能下訂單哦!
原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/ionic-sms-and-call/
最近做的一個ionic項目中需要實現(xiàn)發(fā)短信和打電話,總結(jié)了一下遇到的問題和實現(xiàn)的方法。
1.關(guān)于打電話
在html中可以很方便的實現(xiàn)撥打電話先在config.xml中添加:
<access origin="tel:*" launch-external="yes"/>
然后在html中這樣寫:
<a href="tel:10086”>撥打電話10086</a>
但是我想獲取點擊打電話的時間,所以做了改動:
html中:
<button ng-click="callFriend($event, friend)"></button>
js中:
$scope.callFriend = function ($event, friend) { window.open('tel:' + friend.PhoneNumber); //獲取打電話的時間 var time=new Date(); }
有時不想要自動識別電話,為了防止電話識別,可以在頭文件中添加這一句:
<meta name="format-detection" content="telephone=no">
2.關(guān)于發(fā)短信,是使用的ng-cordova的插件$cordovaSMS:
先添加該插件:
cordova plugin add https://github.com/cordova-sms/cordova-sms-plugin.git
記得相應的要在app.js中依賴ng-cordova,在發(fā)送短信的控制器中依賴$cordovaSms。
我實現(xiàn)的是點擊發(fā)短信的按鈕會彈出一個popup:
在html中添加點擊事件:
<button ng-click="openSendMessage(phoneNumber)"></button>
在控制器中寫發(fā)送短信的函數(shù):
//打開發(fā)送短信的popup $scope.openSendMessage = function (phonenumber) { $rootScope.sendMessagePopup.show(phonenumber) .then(function (result) { return result; }); }; $scope.sms = { number: ‘10086’, message: '生日快樂' }; var options = { replaceLineBreaks: false, // true to replace \n by a new line, false by default android: { intent: '' // send SMS with the native android SMS messaging //intent: '' // send SMS without open any other app //intent: 'INTENT' // send SMS inside a default SMS app } }; $scope.sendSMS = function () { $cordovaSms.send(‘10086’, '生日快樂', options) .then(function () { alert('發(fā)送短信成功'); }, function (error) { alert('發(fā)送短信失敗'); }); };
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。