回答:
それを達成する2つの方法。
1)ユーザーの介入なしに、コードを介してダイヤラーを開始する必要があります。
あなたはAction_Dial、
以下のコードを使用すると、番号が指定されたダイヤラが開きます
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 'tel:'接頭辞が必要ですが、次の例外がスローされ ます:java.lang.IllegalStateException:アクティビティのメソッドを実行できませんでした。
Action_Dialには権限は必要ありません。
ユーザーの操作なしで直接通話を開始したい場合は、 actionを使用できますIntent.ACTION_CALL。この場合、AndroidManifest.xmlに次の権限を追加する必要があります。
<uses-permission android:name="android.permission.CALL_PHONE" />2)ユーザーがPhone_Number文字列をクリックして通話を開始する必要があります。
android:autoLink="phone" 以下のプロパティでTextViewを使用する必要があります。
android:autoLink = "phone" android:linksClickable = "true" a textViewプロパティ
この方法でインテントを使用したり、許可を得たりする必要はありません。
答えはかなり遅いTextViewですが、電話番号を表示している場合は、インテントをまったく処理する必要はありません。XML属性android:autoLink="phone"を使用するだけで、OSが自動的にACTION_DIALインテントを開始します。
@ashishduhが前述したように、使用するandroid:autoLink="phoneことも良い解決策です。ただし、このオプションには欠点が1つあり、電話番号の長さによっては機能しない場合があります。たとえば、11の電話番号はこのオプションでは機能しません。解決策は、電話番号の前に国コードを付けることです。
例:
08034448845 動かない
しかし+2348034448845ます
マニフェストに権限を追加します。
<uses-permission android:name="android.permission.CALL_PHONE" />ボタンまたはウィジェットの例を作成します。 btnCall
btnCall.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent callIntent = new Intent(Intent.ACTION_DIAL);
        callIntent.setData(Uri.parse("tel: +98990*******");
        startActivity(callIntent);
    }
});