【问题标题】:how to send SMS or make a phone call from a samsung gear s app如何从三星 Gear 的应用程序发送 SMS 或拨打电话
【发布时间】:2015-03-16 12:42:13
【问题描述】:

我正在尝试寻找一种通过三星 Gear 的应用发送 SMS 和拨打电话的方法。

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

有人用过吗?有可能吗?

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

谢谢。

【问题讨论】:

    标签: android sms tizen-wearable-sdk samsung-galaxy-gear


    【解决方案1】:

    @memical - 我找到了使用应用 ID 启动消息/短信应用的解决方法。

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

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

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

    【讨论】:

    • 我试过了,三星的齿轮不行
    • 好的。是的,我首先在基于 tizen 的三星 Z1 上进行了测试,它对我有用。在您的上述评论之后,我在 Samsung Gear S 上进行了测试,发现这是一个错误。我发现错误日志上写着“APP_NOT_FOUND”,这意味着三星 gear S 平台上的通话和短信模块存在错误。我会向三星 tizen 平台团队报告。
    • @memical - 我用工作区更新了答案。您可以在此期间使用它,直到问题未在装备上解决。
    • 感谢 srkushwaha,它会启动应用程序。是否可以给它一个预定义的文本?
    • 目前使用此解决方法,这是不可能的,因为它是一个通用的 API,可以根据应用程序 ID 启动任何应用程序。如果错误不存在,那么使用普通的 tizen api,这是可能的。无论如何,我希望这个错误很快就会被关闭。
    【解决方案2】:

    这是我目前发现的:

    要从 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);
                            }
                        });
    

    目前无法发送短信。

    【讨论】:

      【解决方案3】:

      Tizen 上没有为可穿戴设备实现消息 API。您可以通过以下方式自行检查:

      console.log(tizen.messaging);
      

      它将返回“未定义”

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

      【讨论】:

        【解决方案4】:

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

        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);
        

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

        【讨论】:

        • 鲁本,是的,手表上预装的应用程序可以发送短信和拨打电话——即使没有与安卓设备配对。我的问题是:如何以编程方式或至少打开默认应用程序?
        • 请注意,我提到该应用程序在三星 Gear 的手表上运行。这些应用程序是使用 tizen 可穿戴 sdk 开发的,而不是 android sdk。所以基本上我需要你的代码,但移植到 tizen 可穿戴 sdk :) (不是移动 sdk)
        • 对不起,我没明白你的问题
        【解决方案5】:

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

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

        最广泛支持的方案是 tel:如 RFC3966 中所述 [RFC3966]。可以使用如下代码来启用 “点击通话”:

        [电话号码]

        请注意,输入 [PHONE-NUMBER] 时应始终使用完整的 国际前缀(例如 +1-201-555-0111)以确保其正常工作 在本国以外。

        类似地,RFC5724 [RFC5724] 可用于发送 GSM SMS(文本 消息)如下:

        [电话号码]

        请注意,在撰写本文时,对本 RFC 的支持是有限的,并且 部署前应验证设备兼容性。

        【讨论】:

        • 刚刚试了一下。通话有效,短信无效。
        猜你喜欢
        • 1970-01-01
        • 2018-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-19
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多