【问题标题】:Android - Make a phone callAndroid - 拨打电话
【发布时间】:2016-05-11 18:47:13
【问题描述】:

我正在尝试使用 Titanium Appcelerator 通过 Android 拨打电话,我想知道该怎么做

var intent = Ti.Android.createIntent({
      action: Ti.Android.ACTION_CALL,
      data: '9999999' // number to dial
 });

当然,我还需要做其他事情。
提前致谢

SDK 5.2.2 加速器 4.5

【问题讨论】:

    标签: android android-intent appcelerator appcelerator-titanium


    【解决方案1】:

    试试这个:

    function call(number){
        number = number.trim();
            var call = 'tel:' + number;
            if (OS_IOS) {
                Titanium.Platform.openURL(call);
            } else {
    
                var intent = Ti.Android.createIntent({
                    action : Ti.Android.ACTION_CALL,
                    data : call
                });
                Ti.Android.currentActivity.startActivity(intent);
            }
    
    }
    

    并在 tiapp.xml 中添加清单:

    <android xmlns:android="http://schemas.android.com/apk/res/android">
            <manifest>
                ...
                <uses-permission android:name="android.permission.CALL_PHONE"/>
                ...
            </manifest>
        </android>
    

    【讨论】:

      【解决方案2】:

      这里是安卓代码:

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

      UPD:正如@Masum 所说,您还需要添加权限:

      <uses-permission android:name="android.permission.CALL_PHONE" />
      

      【讨论】:

      • 感谢@Oleg,但我认为您的解决方案适用于本机开发,我需要它用于 Appcelerator。
      【解决方案3】:

      试试这个 Appcelerator 方法:

      Titanium.Platform.openURL('tel:1234567890');
      

      如果这对您有用,请将其标记为其他人的答案。

      【讨论】:

      • 感谢@Soumya,但该代码仅打开拨号盘。我需要电话。
      • 所以你想让它拨打号码而不是打开经销商并显示号码?
      • 是的...我需要 CALL,Jagu 解决我的问题。还是谢谢。
      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多