java 拨打电话_快速拨打电话号码
回答(18)
2 years ago
试一试:
if let url = NSURL(string: "tel://\(busPhone)") where UIApplication.sharedApplication().canOpenURL(url) {
UIApplication.sharedApplication().openURL(url)
}
假设电话号码在 busPhone .
NSURL 的 init(string:) 返回一个Optional,所以通过使用 if let ,我们确保 url 是 NSURL (而不是 init 返回的 NSURL? ) .
For Swift 3:
if let url = URL(string: "tel://\(busPhone)"), UIApplication.shared.canOpenURL(url) {
if #available(iOS 10, *) {
UIApplication.shared.open(url)
} else {
UIApplication.shared.openURL(url)
}
}
我们需要检查我们是否在iOS 10或更高版本上,因为:
'openURL'在iOS 10.0中已弃用
2 years ago
iOS 10中的自包含解决方案, Swift 3 :
private func callNumber(phoneNumber:String) {
if let phoneCallURL = URL(string: "tel://\(phoneNumber)") {
let application:UIApplication = UIApplication.shared
if (application.canOpenURL(phoneCallURL)) {
application.open(phoneCallURL, options: [:], completionHandler: nil)
}
}
}
您应该可以使用 callNumber("7178881234") 拨打电话 .
2 years ago
Swift 3.0和ios 10或更早版本
func phone(phoneNum: String) {
if let url = URL(string: "tel://\(phoneNum)") {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url as URL)
}
}
}
2 years ago
好的,我得到了帮助并想出来了 . 此外,我还放了一个漂亮的小警报系统,万一电话号码无效 . 我的问题是我说它是正确的,但数字有空格和不需要的字符,如(“123 456-7890”) . 如果您的号码是(“1234567890”),则UIApplication仅适用或接受 . 因此,您基本上通过创建一个新变量来仅删除数字来删除空格和无效字符 . 然后使用UIApplication调用这些数字 .
func callSellerPressed (sender: UIButton!){
var newPhone = ""
for (var i = 0; i < countElements(busPhone); i++){
var current:Int = i
switch (busPhone[i]){
case "0","1","2","3","4","5","6","7","8","9" : newPhone = newPhone + String(busPhone[i])
default : println("Removed invalid character.")
}
}
if (busPhone.utf16Count > 1){
UIApplication.sharedApplication().openURL(NSURL(string: "tel://" + newPhone)!)
}
else{
let alert = UIAlertView()
alert.title = "Sorry!"
alert.message = "Phone number is not available for this business"
alert.addButtonWithTitle("Ok")
alert.show()
}
}
2 years ago
以上答案部分正确,但“tel://”只有一个问题 . 通话结束后,它将返回主屏幕,而不是我们的应用程序 . 所以最好使用“telprompt://”,它将返回到应用程序 .
var url:NSURL = NSURL(string: "telprompt://1234567891")!
UIApplication.sharedApplication().openURL(url)
2 years ago
我在我的应用程序中使用此方法,它工作正常 . 我希望这对你也有帮助 .
func makeCall(phone: String) {
let formatedNumber = phone.componentsSeparatedByCharactersInSet(NSCharacterSet.decimalDigitCharacterSet().invertedSet).joinWithSeparator("")
let phoneUrl = "tel://\(formatedNumber)"
let url:NSURL = NSURL(string: phoneUrl)!
UIApplication.sharedApplication().openURL(url)
}
2 years ago
Swift 3,iOS 10
func call(phoneNumber:String) {
let cleanPhoneNumber = phoneNumber.components(separatedBy: CharacterSet.decimalDigits.inverted).joined(separator: "")
let urlString:String = "tel://\(cleanPhoneNumber)"
if let phoneCallURL = URL(string: urlString) {
if (UIApplication.shared.canOpenURL(phoneCallURL)) {
UIApplication.shared.open(phoneCallURL, options: [:], completionHandler: nil)
}
}
}
2 years ago
在Swift 3中,
if let url = URL(string:"tel://\(phoneNumber)"), UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
}
2 years ago
这是使用Swift 2.0更新@ Tom的答案注 - 这是我正在使用的整个CallComposer类 .
class CallComposer: NSObject {
var editedPhoneNumber = ""
func call(phoneNumber: String) -> Bool {
if phoneNumber != "" {
for i in number.characters {
switch (i){
case "0","1","2","3","4","5","6","7","8","9" : editedPhoneNumber = editedPhoneNumber + String(i)
default : print("Removed invalid character.")
}
}
let phone = "tel://" + editedPhoneNumber
let url = NSURL(string: phone)
if let url = url {
UIApplication.sharedApplication().openURL(url)
} else {
print("There was an error")
}
} else {
return false
}
return true
}
}
2 years ago
我正在使用swift 3解决方案进行数字验证
var validPhoneNumber = ""
phoneNumber.characters.forEach {(character) in
switch character {
case "0"..."9":
validPhoneNumber.characters.append(character)
default:
break
}
}
if UIApplication.shared.canOpenURL(URL(string: "tel://\(validNumber)")!){
UIApplication.shared.openURL(URL(string: "tel://\(validNumber)")!)
}
2 years ago
openURL()已在iOS 10中弃用 . 以下是新语法:
if let url = URL(string: "tel://\(busPhone)") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
2 years ago
For swift 3.0
if let url = URL(string: "tel://\(number)"), UIApplication.shared.canOpenURL(url) {
if #available(iOS 10, *) {
UIApplication.shared.open(url)
} else {
UIApplication.shared.openURL(url)
}
}
else {
print("Your device doesn't support this feature.")
}
2 years ago
斯威夫特4,
private func callNumber(phoneNumber:String) {
if let phoneCallURL = URL(string: "telprompt://\(phoneNumber)") {
let application:UIApplication = UIApplication.shared
if (application.canOpenURL(phoneCallURL)) {
if #available(iOS 10.0, *) {
application.open(phoneCallURL, options: [:], completionHandler: nil)
} else {
// Fallback on earlier versions
application.openURL(phoneCallURL as URL)
}
}
}
}
2 years ago
Swift 3.0解决方案:
let formatedNumber = phone.components(separatedBy: NSCharacterSet.decimalDigits.inverted).joined(separator: "")
print("calling \(formatedNumber)")
let phoneUrl = "tel://\(formatedNumber)"
let url:URL = URL(string: phoneUrl)!
UIApplication.shared.openURL(url)
2 years ago
这是使用 Scanner 将电话号码减少为有效组件的另一种方法...
let number = "+123 456-7890"
let scanner = Scanner(string: number)
let validCharacters = CharacterSet.decimalDigits
let startCharacters = validCharacters.union(CharacterSet(charactersIn: "+#"))
var digits: NSString?
var validNumber = ""
while !scanner.isAtEnd {
if scanner.scanLocation == 0 {
scanner.scanCharacters(from: startCharacters, into: &digits)
} else {
scanner.scanCharacters(from: validCharacters, into: &digits)
}
scanner.scanUpToCharacters(from: validCharacters, into: nil)
if let digits = digits as? String {
validNumber.append(digits)
}
}
print(validNumber)
// +1234567890
2 years ago
Swift 3.0 & iOS 10+
UIApplication.shared.openURL(url) 已更改为 UIApplication.shared.open(_ url: URL, options:[:], completionHandler completion: nil)
选项和完成处理程序是可选的,呈现:
UIApplication.shared.open(url)
2 years ago
对于Swift 3.1和向后兼容的方法,请执行以下操作:
@IBAction func phoneNumberButtonTouched(_ sender: Any) {
if let number = place?.phoneNumber {
makeCall(phoneNumber: number)
}
}
func makeCall(phoneNumber: String) {
let formattedNumber = phoneNumber.components(separatedBy:
NSCharacterSet.decimalDigits.inverted).joined(separator: "")
let phoneUrl = "tel://\(formattedNumber)"
let url:NSURL = NSURL(string: phoneUrl)!
if #available(iOS 10, *) {
UIApplication.shared.open(url as URL, options: [:], completionHandler:
nil)
} else {
UIApplication.shared.openURL(url as URL)
}
}
2 years ago
如果您的电话号码包含空格,请先将其删除!然后你可以使用accepted answer's解决方案 .
let numbersOnly = busPhone.replacingOccurrences(of: " ", with: "")
if let url = URL(string: "tel://\(numbersOnly)"), UIApplication.shared.canOpenURL(url) {
if #available(iOS 10, *) {
UIApplication.shared.open(url)
} else {
UIApplication.shared.openURL(url)
}
}
java 拨打电话_快速拨打电话号码相关推荐
- Android跳转到拨打电话界面和拨打电话
1.在清单文件加入权限. <uses-permission android:name="android.permission.CALL_PHONE" /> 2.在Act ...
- Android入门篇(四):自动拨打电话、手动拨打电话
Android入门篇(四):自动拨打电话.手动拨打电话 一.前言 最近在做的项目需要用到自动拨号的这一功能,17年写了一个,最近拿出来用发现不能使用了,后面查资料据说是因为Android 6(api2 ...
- 拨打电话 java_简单拨打电话程序
众所周知,对于一个手机,能拨打电话是其最重要也是最常用的一个功能.而在Android里是怎么样实现拨打电话的程序呢?我在这里写了一个简单的拨打电话的Demo,供大家参考.一共分为5个步骤. Step ...
- java软电话_软电话使用呼叫中心的方法与流程
本申请属于软件领域,具体地说,尤其涉及一种软电话使用呼叫中心的方法. 背景技术: 现有的呼叫中心的呼叫接入续条主要通过嵌入web端的形式来实现拨号.挂机.静音.转移.保持.评价等操作按钮,也有的呼叫中 ...
- Axure实现模拟拨打电话和真实拨打电话
Axure模拟拨打电话 Axure RP是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程图.原型和规格说明文档.作为专业的原型设计 ...
- java 固定电话_固定电话号码数字匹配请教
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 要求如下: 1.编写方法public static int(charuppercaseLetter)将大写字母翻译成数字, 2.编写主方法,输入带字母的电 ...
- java 正则表达式 电话_Java-12正则表达式验证电话号码
在注册会员是,经常需要输入电话号码,电话号码是只手机号码或者固定电话.如果输入的内容不合法,则会向用户输出提士.本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果 ...
- java 固定电话正则_java针对电话号码正则匹配实例
本文实例讲述了java针对电话号码正则匹配的方法.分享给大家供大家参考.具体如下: public interface RegExpConst { /** * 手机号码 * 移动:134[0-8],13 ...
- java akka 教程_快速入门 Akka Java 指南
快速入门 Akka Java 指南 Akka 是一个用于在 JVM 上构建高并发.分布式和容错的事件驱动应用程序的运行时工具包.Akka 既可以用于 Java,也可以用于 Scala.本指南通过描述 ...
最新文章
- Python基础概念_5_函数
- C++与java的不同点
- 邀请和建议的回答_46
- 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner
- 从BlackHat2013中我们收获了什么
- fullpage.js(cndjs)
- 关于鼠标移到gridview行上,背景变色的问题。
- 上海新中考体育考试方案公布:总分30分不变
- 由内鬼事件看企业的内部安全威胁
- 那个即刻,他回来啦!
- 我是如何成为算法工程师的,超详细的学习路线
- 2018至2021年新春挡电影票房分析
- 小象学院python数据分析课程怎么样_小象学院Python数据分析第二期【升级版】
- android 获得屏幕方向,Android 获取设置屏幕横竖屏
- 2022-2028年中国踏步机行业市场运营态势及投资战略规划报告
- Linux route命令
- 我用“电驴”抓肉鸡(转)
- EndNote20批量将参考文献中的DOI导出
- 前端培训的机构哪个好,这五类人最适合转Web前端
- 计算机老师副业能做什么,教师除了本职工作,还能做哪些副业?
热门文章
- linux读取excel并导入mysql_mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)...
- 基于Qt Creator的OpenCV人脸识别签到项目系列教程(一) - 人脸信息采集
- java微信小程序的在线学习平台
- java找不到主类错误的原因_java错误:找不到或无法加载主类的原因与解决方法...
- BigDecimal四舍五入保留两位小数
- 房屋装修自装,如何自己做装修设计
- PMP考试如何获取PDU
- 使用Ajax进行前后端交互(一)
- 【SVAC】国标SVAC对飙通行标准,优势何在?
- TeamViewer14检测为商业用途最优解