Ionic/cordovaアプリを作成しています。私のアプリケーションから、ユーザーはSMSを送信するために電話番号をクリックできます。その番号をクリックすると、ネイティブSMSアプリが開き、ユーザーは自分のSMSを入力して、SMSを送信できます。私のアプリはSMSコンテンツを取得できますか?
前もって感謝します。
Ionic/cordovaを使用しているため、このような作業を行うにはSMSプラグインが必要です。
Jsmobile SMSプラグインの他に、より多くのAPIを備えたプラグインがあります: http://plugins.cordova.io/#/package/com.rjfun.cordova.sms
説明で述べたように:
sendSMS(address(s), text, successCallback, failureCallback);
listSMS(filter, successCallback, failureCallback);
deleteSMS(filter, successCallback, failureCallback);
startWatch(successCallback, failureCallback);
stopWatch(successCallback, failureCallback);
enableIntercept(on_off, successCallback, failureCallback);
restoreSMS(msg_or_msgs, successCallback, failureCallback);
イベント
'onSMSArrive'
次のいずれかの方法でSMSコンテンツを取得できます。
または、
ところで、プラグインはAndroidのみ、参考までに。
@MikeXが提案したように、 cordova-plugin-sms オプションがありますが、そのライセンスは無料で使用できないことに注意してください。
だから私は Phonegap-SMS-reception-plugin を使用することを選択しました。これはMITライセンスです。
そしてそれはただ
var smsInboxPlugin = cordova.require('cordova/plugin/smsinboxplugin');
smsInboxPlugin.startReception (function(msg) {
alert(msg);
stopReadingSMS(smsInboxPlugin);
}, function() {
alert("Error while receiving messages");
stopReadingSMS(smsInboxPlugin);
});
function stopReadingSMS(smsInboxPlugin) {
smsInboxPlugin.stopReception (function() {
console.log("Correctly stopped SMS receiver");
}, function() {
console.log("Error while stopping the SMS receiver");
});
}
ユーザーが別のアプリに何を入力したか知りたいと言っていますか?もしそうなら、私はあなたができるとは思わない。理論的には、実際のSMSアプリをスキップして、プラグインを使用してみてください: http://plugins.cordova.io/#/package/com.jsmobile.plugins.sms
you can use sms: url for opening native sms app for that you need to add
<access Origin="sms:*" launch-external="yes"/> inside config.xml
上記の行を追加した後、次のようにSMSリンクを使用します
<a class="button icon-left ion-Android-mail button-balanced button-outline" href="sms:9808350855">SMS</a>
現在、cordova拡張機能用のionicラッパーがあります。$ cordovaSMSを使用できます( ここにドキュメント )
module.controller('ThisCtrl', function($cordovaSms) {
document.addEventListener("deviceready", function () {
$cordovaSms
.send('phonenumber', 'SMS content', options)
.then(function() {
// Success! SMS was sent
}, function(error) {
// An error occurred
});
});
});
ユーザーが入力している内容を確認するには、アプリ内に「SMSコンテンツ」を書き込んでもらうことができます。アプリを離れると、ネイティブのSMSフィールドからテキストを取得できるとは思いません