如何从 Samsung Gear 的应用程序发送短信或拨打 phone 电话

how to send SMS or make a phone call from a samsung gear s app

我正在尝试找到一种方法来发送短信并从 samsung gear 的应用程序拨打 phone 电话。

大部分文档都丢失了,对此进行搜索并没有找到太多结果。

有人用过吗?有可能吗?

作为替代方案,如果应用无法发送短信或拨打电话,是否可以启动默认应用(类似于 Android intent for SMS/Phone app 或 iOS openURL).

谢谢。

要打开应用程序拨打电话,请尝试以下代码:

Uri number = Uri.parse("tel:"+telNumber);
Intent openCallIntent = new Intent(Intent.ACTION_DIAL, number);
startActivity(openCallIntent);

拨打电话:

Uri number = Uri.parse("tel:"+telNumber); 
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(number);
startActivity(callIntent);

发送短信:

Intent sendSmsIntent = new Intent(Intent.ACTION_VIEW);
sendSmsIntent.setType("vnd.android-dir/mms-sms");
sendSmsIntent.putExtra("address", telNumber);
sendSmsIntent.putExtra("sms_body","Whatever you want");
startActivity(sendSmsIntent);

Whosebug 中已经回答了与此类似的问题

这是我目前的发现:

要从 Gear S 应用拨打电话,请使用以下代码:

var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/call", "tel:001....");

tizen.application.launchAppControl(appControl, null,
                    function() {
                        console.log("ok");
                    }, 
                    function(e)
                    {
                        console.log("error: " + e.message);
                    },
                    {
                        onsuccess : function()
                        {
                            console.log("ok 2");
                        },
                        onfailure : function(er)
                        {
                            console.log("error 2: " + er.message);
                        }
                    });

目前无法发送短信。

Tizen 上没有为可穿戴设备实现消息传递 API。你可以通过调用自己检查:

console.log(tizen.messaging);

会return'undefined'

这意味着您无法使用 Tizen 消息传递以编程方式从可穿戴设备发送或阅读短信或电子邮件 API。

试试这个,与使用平台 API 相比非常简单。

http://www.w3.org/TR/mwabp/#bp-interaction-uri-schemes

The most broadly supported scheme is tel: as described in RFC3966 [RFC3966]. Code such as the following can be used to enable "Click-to-Call":

[PHONE-NUMBER]

Note that [PHONE-NUMBER] should always be entered using the full international prefix (e.g. +1-201-555-0111) to ensure that it works outside of its home country.

Similarly RFC5724 [RFC5724] can be used to send a GSM SMS (text message) as follows:

[PHONE-NUMBER]

Note that at the time of writing support for this RFC is limited and device compatibility should be verified before deployment.

@memical - 我找到了使用应用程序 ID 启动 message/sms 应用程序的解决方法。

<p onclick="hackSMS();">Send SMS</p>

<script>
function hackSMS() {
    tizen.application.launch("com.samsung.message", function(){console.log ("Launched")});
}
</script>

记得在您的应用程序中添加此 http://tizen.org/privilege/application.launch 特权 config.xml

注意:我尝试了其他方法,例如使用公开的 tizen 平台 api 的网络应用程序来启动一些预定义的应用程序控件。但它适用于通话而不适用于短信。