web-dev-qa-db-ja.com

Androidインテントコール番号

私の電話番号はTextViewにあり、「インテントピッカー」を開いて、通話に使用するアプリケーション(Skype、Viber ...)を選択するか、ダイヤルして呼び出すだけです。

Intent callIntent = new Intent(Intent.ACTION_CALL);は即座に呼び出されるため、役に立ちません。

14
Kyryl Zotov

私はあなたがこのようなものを探していると思います:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 

これにより、番号が入力された状態でダイヤラーが開きます(または、電話をかけることができる複数のアプリがインストールされている場合は選択ダイアログが作成されます)が、実際には通話は開始されません。詳細は this answer を参照してください。

公式ソリューション

意図の例:

public void dialPhoneNumber(String phoneNumber) {
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + phoneNumber));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}
7
Shihab Uddin

コトリン用

    val intent = Intent(Intent.ACTION_DIAL)
    intent.data = Uri.parse("tel:0123456789")
    startActivity(intent)
4
kuzdu