Appcelerator钛 - 发送短信

时间:2011-06-07 09:24:55

标签: sms titanium send appcelerator appcelerator-mobile

我正在使用appcelerator钛创建一个移动(iphone / android)应用程序。有什么方法可以让app用appcelerator钛把短信发送到任何给定的号码吗?

7 个答案:

答案 0 :(得分:1)

如果您不想付款,这是适用于iOS的短信模块:

http://developer.appcelerator.com/question/97961/ios-sms-dialog-module

你需要遵循他的指南,但你应该能够让它发挥作用。对于Android,您只需使用“sms://”+ phoneNumber或类似的东西调用URL。

答案 1 :(得分:1)

答案 2 :(得分:1)

您可以使用一种功能发送短信:

var SMS_SENT     = -1,
    SMS_NOT_SENT =  0;

/**
 * Open an SMS dialog with the given message.
 * If the SMS is sent, run the onSuccess callback.
 *
 * @message {text}      the text you want to send
 * @callback {function} the funciton you want to run on success
 **/
function openSmsDialog(message, onSuccess) {
    if (Ti.Platform.osname === 'android') {
        var intent = Ti.Android.createIntent({
            action: Ti.Android.ACTION_VIEW,
            type:   'vnd.android-dir/mms-sms'
        });
        intent.putExtra('sms_body', message);

        var _onClose = function(activityResult) {
            if (activityResult.resultCode === SMS_SENT && onSuccess) {
                onSuccess();
            }
        };

        Ti.Android.currentActivity.startActivityForResult(intent, _onClose);
    } else {
        var smsModule = require("com.omorandi");

        var smsDialog = smsModule.createSMSDialog({
            messageBody: message
        });

        if (onSuccess) {
            smsDialog.addEventListener('complete', onSuccess);
        }
    }
}

要使此代码在iOS上运行,您必须使用com.omorandi模块。对于android,你不需要任何模块。

答案 3 :(得分:0)

Appcelerator拥有一组模块,如果您是其合作伙伴计划的成员,则可以使用这些模块。它包括一个SMS模块:

http://www.appcelerator.com/products/titaniumplus/

答案 4 :(得分:0)

这是一个很棒的模块。

仅支持Android。将在没有用户交互的情况下自动发送短信

https://github.com/omorandi/TiAndroidSMS

答案 5 :(得分:0)

在搜索谷歌搜索其他内容时发现了您的问题。所以我想我会回答,以防有人在将来遇到这个问题。

Appcelerator Marketplace中有一个模块用于发送短信:https://marketplace.appcelerator.com/apps/6521?1019589994

答案 6 :(得分:0)

如果您只想使用自己的信息打开SMS应用程序,可以使用以下内容:

Ti.Platform.openURL("sms:01234567891&body=hey");

注意数字和正文都是可选的。