Androidアプリから電話を発信する方法は?
Androidアプリから電話を発信する方法は、大きく分けて2通りあります。
電話番号だけ設定しておいて、音声発信を実際行う前の画面(ダイヤル画面)に遷移させる方法と、設定した電話番号にいきなり電話を掛ける方法があります。
ユーザにとって、使いやすいであろうと思う方で実装するとよいと思います。
但し、わけのわからないところへいきなり電話を掛けさせるようなアプリにしないように・・・。
ダイヤル画面へ遷移させる方法
まずは、音声発信はいきなり行わないで、電話番号を設定するだけでダイヤル画面へ遷移させる方法です。
Uri uri = Uri.parse(“tel:1111111111”);
Intent i = new Intent(Intent.ACTION_DIAL,uri);
startActivity(i);
これだけです。
音声発信は、URI形式でtelスキームを使って、「tel:電話番号」の形で指定します。
また、Intentのコンストラクタの第一引数に、Intent.ACTION_DIALを設定するところがポイントです。
上記の処理を行うと、以下のように、音声発信を行う一歩手前の画面へ遷移させる事ができます。
スポンサーリンク
いきなり音声発信させる方法
次は、ダイヤル画面を介さないで、直で音声発信をさせる方法です。
Uri uri = Uri.parse(“tel:1111111111”);
Intent i = new Intent(Intent.ACTION_CALL,uri);
startActivity(i);
先ほどの方法とは、Intentのコンストラクタの第一引数が異なります。
Intent.ACTION_CALLを設定します。
コード的に違うところはここだけです。
ですが、ACTION_CALLを使うには、パーミッションの設定が必要になります。
ユーザの確認作業が入らないので、先ほどのACTION_DIALよりは、セキュリティ的に厳しく設定されているんでしょう。
以下のパーミッションが必要です。
android.permission.CALL_PHONE
(パーミッションの設定方法は、「Eclipseでのパーミッション(Permission)の設定方法」参照)
そして、先ほどのコードが実行されると、以下のように、すぐに音声発信を行います。
ブラウザの起動と同じく、とても簡単ですね。
No commented yet.