こんにちは、開発担当の西田です。
Sleipnir for Windows/Mac と連携する、現在開発中の Android アプリで電話を発信する必要があったので、電話番号に関する Intent について調べました。
ACTION_CALL
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:012345678")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
ACTION_CALL で電話番号を投げるといきなり発信を開始します。
なお ACTION_CALL には以下のパーミッションが必要です。AndroidManifest.xml に追加をお忘れなく。
<uses-permission android:name="android.permission.CALL_PHONE"/>
ACTION_DIAL
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:012345678")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
ACTION_DIAL で電話番号を投げるとダイヤル画面を表示します。ここから発信したり電話帳に登録したりできます。
なお、ACTION_DIAL にはとくにパーミッションは不要です。
ACTION_VIEW
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:012345678")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
ACTION_VIEW は ACTION_DIAL と同じ動作になるようなので、あえて使う必要はなさそうです。
最後に
今開発中のアプリでは、デスクトップの Sleipnir ブラウザからダイレクトに Android スマートフォンで発信することができます。PC とスマートフォンを密に連携させるのは楽しいので、リリースを楽しみにしてください。