5

ユーザーが緊急サービスにダイヤルできるボタンを作成したいと思います。

これを行うために呼び出す特定の方法はないようですので、使用する必要があると思います

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

自分で phoneNumber を割り当てます。ただし、これが米国の 911、英国の 999 などであることはわかっていますが、ユーザーがどの国にいるかを判断する方法がわかりません。ロケールを取得することはできますが、ロケールを手動で設定したり、国外に旅行した場合、それは信頼できません。位置情報を解決できますが、GPS がオフになっているか、インターネット接続がない場合は機能しません。

112 は現在、GSM 電話の世界標準になっていると聞きましたが、すべての iPhone で機能しますか?

4

2 に答える 2

9

さまざまな番号を取得する方法はわかりませんが、これらのセット (国ごとの辞書など) を持っていると仮定すると、ネットワーク情報を使用して、電話が現在どの国にあるかを判断できます.

CTTelephonyNetworkInfoこれは、CoreTelephony フレームワーク、具体的にはおよびCTCarrierクラスを使用して行うことができます。以下は、現在の通信事業者の ISO 3166-1 国コードを取得する小さなサンプルです。

CTTelephonyNetworkInfo *network = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
CTCarrier *carrier = [network subscriberCellularProvider];
NSString *countryCode = [carrier isoCountryCode];

これcountryCodeで、国ごとに固有のコード (私の知る限り Alpha-2 コード) が作成されます。これらのリストは次のとおりです。

于 2012-05-13T18:03:23.857 に答える
0

これを行うために呼び出す特定の方法はないようですので、使用する必要があると思います

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

正解です。

ダイヤルする番号については、グローバルな緊急番号はないと思います。

于 2012-05-13T17:00:54.187 に答える