Titanium 使用appcelerator呼叫电话

Titanium 使用appcelerator呼叫电话,titanium,appcelerator,appcelerator-titanium,Titanium,Appcelerator,Appcelerator Titanium,我正在尝试在设备上拨打电话,但设备不执行任何操作 这是我的代码,我使用的是Appcelerator 4.4.0.201511241829,IOS 9.2 var dialog = Ti.UI.createAlertDialog({ cancel: 0, buttonNames: ['Cancel', 'Ok'], message: "Are you sure?" }); dialog.addEventListener('click', fun

我正在尝试在设备上拨打电话,但设备不执行任何操作

这是我的代码,我使用的是Appcelerator 4.4.0.201511241829,IOS 9.2

    var dialog = Ti.UI.createAlertDialog({
    cancel: 0,
    buttonNames: ['Cancel', 'Ok'],
    message: "Are you sure?" 

    });

    dialog.addEventListener('click', function(e){

     if (e.index !== e.source.cancel){

        // IF WE ARE BUILDING FOR DEVELOPMENT PURPOSES - TRY CALLING A FAKE NUMBER
        if(ENV_DEV){ 
              Titanium.Platform.openURL('tel:00000000');
        }
        // ELSE IF WE ARE BUILDING PRODUCTION - THEN USE THE LISTED NUMBER
        else if(ENV_PRODUCTION){
             Titanium.Platform.openURL('tel:00000000');
        }
    }  
});

dialog.show();

有什么帮助吗?

您的呼叫号码代码似乎正确。我假设什么也没有发生,因为
ENV_DEV
ENV_PRODUCTION
变量不正确,因此这两个if语句不满足

首先,我建议您添加一个
else
语句,以确保满足一个条件。您可以这样修改代码:

// IF WE ARE BUILDING FOR DEVELOPMENT PURPOSES - TRY CALLING A FAKE NUMBER
if(ENV_DEV){ 
    Titanium.Platform.openURL('tel:00000000');
}
// ELSE IF WE ARE BUILDING PRODUCTION - THEN USE THE LISTED NUMBER
else if(ENV_PRODUCTION){
    Titanium.Platform.openURL('tel:00000000');
}else{
    Titanium.Platform.openURL('tel:00000000');
}
其次,您可以在每个语句中添加一个控制台日志,如下面的
Ti.API.info(“yourMsg”)
,以检查您是否在其中


我希望这会有所帮助

您的呼叫号码代码似乎正确。我假设什么也没有发生,因为
ENV_DEV
ENV_PRODUCTION
变量不正确,因此这两个if语句不满足

首先,我建议您添加一个
else
语句,以确保满足一个条件。您可以这样修改代码:

// IF WE ARE BUILDING FOR DEVELOPMENT PURPOSES - TRY CALLING A FAKE NUMBER
if(ENV_DEV){ 
    Titanium.Platform.openURL('tel:00000000');
}
// ELSE IF WE ARE BUILDING PRODUCTION - THEN USE THE LISTED NUMBER
else if(ENV_PRODUCTION){
    Titanium.Platform.openURL('tel:00000000');
}else{
    Titanium.Platform.openURL('tel:00000000');
}
其次,您可以在每个语句中添加一个控制台日志,如下面的
Ti.API.info(“yourMsg”)
,以检查您是否在其中


我希望这对您有所帮助

您的“拨号”代码看起来确实正确。我想建议您的代码结构稍微不同,我将给您一个来自我最近项目的示例

您可以在config.json中为不同的环境(prod、dev)配置电话号码(假设您正在处理Alloy项目,而不是经典的Tianium项目),例如:

{
 "global": {
 "phoneNumber": tel:0032499001122"
},
 "env:development": {
  "phoneNumber": tel:0111111"
},
"env:test": {},
"env:production": {}, ..
这会将单击处理程序中的代码减少为:

if (e.index !== e.source.cancel){
   Ti.Platform.openURL(Alloy.CFG.phoneNumber);
}
因为在启动应用程序时传递了环境,所以不再需要在代码中检查环境

如果通过CLI运行应用程序,请不要忘记添加环境标志(-D development),例如

titanium build -p ios -T simulator -D development

您的“拨号码”代码似乎确实正确。我想建议您的代码结构稍微不同,我将给您一个来自我最近项目的示例

您可以在config.json中为不同的环境(prod、dev)配置电话号码(假设您正在处理Alloy项目,而不是经典的Tianium项目),例如:

{
 "global": {
 "phoneNumber": tel:0032499001122"
},
 "env:development": {
  "phoneNumber": tel:0111111"
},
"env:test": {},
"env:production": {}, ..
这会将单击处理程序中的代码减少为:

if (e.index !== e.source.cancel){
   Ti.Platform.openURL(Alloy.CFG.phoneNumber);
}
因为在启动应用程序时传递了环境,所以不再需要在代码中检查环境

如果通过CLI运行应用程序,请不要忘记添加环境标志(-D development),例如

titanium build -p ios -T simulator -D development

非常感谢您的演讲,您的代码也很有用!。非常感谢您的演讲,您的代码也很有用!。没问题,很乐意帮忙!没问题,很乐意帮忙!