そこで、グーグルプレイスリファレンス(詳細なウェブサービス)を使用して、「フォーマットされた電話番号」を(256)922-0556の形式で取得しました。目標は、この番号に電話をかけることです。私が試しているのは、インテントを使用することです。ただし、上記の数値は、URI解析方式を使用する形式ではありません。この番号に電話をかける解決策を知っている人はいますか?これをUriデータに変換する別の意図または良い方法はありますか?私はこれの反対がそのように行われるのを見ました:1234567890→(123)456-7890
String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);
しかし、私はこれの逆をやりたいです。アイデアや代替ソリューションはありますか?これが私のコードです:
protected void onPostExecute(Boolean result){
Intent callintent = new Intent(Intent.ACTION_CALL);
callintent.setData(Uri.parse(phoneNum));
try {
startActivity(callintent);
}catch (Exception e) {e.printStackTrace();}
}
ここで、phoneNumは、JSONを介してGooglePlacesから取得されたフォーマット済みの電話番号文字列です。
Peotropoのコメントを拡張するには:次の値よりも値を置き換えるためのより良い方法はありますか?
phoneNum = phoneNum.replace(" ", ""); // gets rid of the spaces
phoneNum = phoneNum.replace("-", ""); // gets rid of the -
phoneNum = phoneNum.replace("(", ""); // gets rid of the (
phoneNum = phoneNum.replace(")", ""); // gets rid of the )