javascript - 从手机上的 watch 打开 URL (Tizen)

标签 javascript tizen tizen-web-app samsung-galaxy-gear

我正在为 Samsung Gear 开发 Tizen Web 应用程序。 (使用Tizen 2.4)

目前我尝试添加一个功能,允许用户通过 watch 打开手机上的链接。 因此,当他按下按钮时,手机的默认浏览器中将打开一个 URL。我注意到其他智能 watch 应用程序也有此功能。

浏览这些论坛后,我找到了一个代码示例:

var appControl = new tizen.ApplicationControl('http://tizen.org/appcontrol/operation/view',
'https://www.tizen.org', null, null, null, null);

tizen.application.launchAppControl(appControl, null, function() {
console.log('launch application control succeed');
}, function(e) {
console.log('launch application control failed. reason: ' + e.message);
}, null);

但是,当我尝试运行它时,出现以下错误:“启动应用程序控制失败。原因:找不到匹配的应用程序。”

我的应用程序在其配置文件中添加了以下权限:

<tizen:privilege name="http://tizen.org/privilege/application.info"/>
<tizen:privilege name="http://tizen.org/privilege/application.launch"/>
  1. 这是用于在手机浏览器上打开链接的正确应用程序吗?
  2. 这些都是该功能所需的权限吗?
  3. 为什么找不到该应用程序?

最佳答案

找到了 您将需要 application.launch 权限。

function openBrowserOnPhone(url) {
    var appid = "com.samsung.w-manager-service";
    var type = "phone";

    var extra_data = [
              new tizen.ApplicationControlData("msgId", ["mgr_install_host_app_req"]),
              new tizen.ApplicationControlData("type", [type]),
              new tizen.ApplicationControlData("deeplink", [url])];
    var appControl = new tizen.ApplicationControl(
               "http://tizen.org/appcontrol/operation/default",
               null,
               null,
               null,
               extra_data);
    var appControlReplyCallback = {
            onsuccess: function(data) {
                console.log("launchUrl reply success");
                console.log("success: data = " + JSON.stringify(data));
            },
            onfailure: function() {
                console.log("launchUrl reply failed");
            }
        };
    try {
        tizen.application.launchAppControl(
                 appControl,
                 appid,
                 function() { console.log("intentBorba", "launchUrl success"); },
                 function(err) { console.log("intentBorba", "launchUrl failed: " + err.message); },
                 appControlReplyCallback);
    }catch(err) {
        console.error("[launcher] " + err);
    }
}

关于javascript - 从手机上的 watch 打开 URL (Tizen),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55943197/

相关文章:

javascript - 显示/隐藏 div 中 <ul> 列表的多个分页

javascript - jQuery .click 不适用于 jQuery 生成的按钮

Safari 的 JavaScript 动画

javascript - 对象网格居中

tizen - 应用程序在 Tizen TV 模拟器中按预期运行,但在模拟器中不运行

tizen - 恢复 tizen 设置操作

javascript - 无法在 Tizen 可穿戴 Web 应用程序中显示 OpenStreepMap

contextmenu - Tizen 应用程序的上下文菜单

tizen - 三星 Tizen 电视中的电源开/关 API

javascript - 将元素从附加列表传递到另一个页面