web-dev-qa-db-ja.com

androidスタジオ呼び出しボタン

押されたときに電話をかけるクリックボタンを作ろうとしています。これがJavaの私のコードです:

public void CampusSafClick(View view){
    Intent callIntent =new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:6038994210"));
    startActivity(callIntent);
}

Onclickボタンの作り方を理解しているので、それは問題ではありません。

マニフェストに次のコードがあります。

<uses-permission Android:name="Android.permision.CALL_PHONE"></uses-permission>

エラーが発生し続けます残念ながら、アプリが機能しなくなりました。

4
Drew Bennett
ivCall.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (serviceListDates.get(position).getUser_mobile().length() != 0) {
            final AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
            alertDialog.setTitle("NKA SERVICE");
            alertDialog.setMessage("Do you want to Call ?");
            alertDialog.setIcon(R.drawable.call_icon);
            alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    ((DeliveredServiceOilActivity) mContext).callPhoneNumber
                            (serviceListDates.get(position).getUser_mobile());
                }
            });`enter code here
            alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });
            alertDialog.show();
        } else
            AlertUtils.SHOW_TOAST(mContext, mContext.getString(R.string.please_add_number));
    }
});
1
Pranav Barot

作業コードは次のとおりです。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialContactPhone("123123123");
        }
    });
}

private void dialContactPhone(final String phoneNumber) {
    startActivity(new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phoneNumber, null)));
}
11

Action_Dialが必要です、

以下のコードを使用すると、指定された番号でディーラーが開きます。

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

tel:プレフィックスが必要です。それ以外の場合は、次の例外がスローされます:Java.lang.IllegalStateException: Could not execute method of the activity.

Action_Dialは許可を必要としません。

ユーザーの操作なしで直接通話を開始する場合は、アクションIntent.ACTION_CALLを使用できます。この場合、AndroidManifest.xmlに次の権限を追加する必要があります。

<uses-permission Android:name="Android.permission.CALL_PHONE" />
4
Tabish khan

マニフェストのアプリケーションリストの上にコードを入力する必要があります。

<uses-permission Android:name="Android.permission.CALL_PHONE"/>
3
Drew Bennett

次のコードを使用できます

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

マニフェストファイルに含める

<uses-permission Android:name="Android.permission.CALL_PHONE"/>
2

Androidを使用して電話をかける場合は、インテントを使用して実装できます。

public void MakePhoneCall(View view){
    Intent callIntent =new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:9961907453"));
    if (ActivityCompat.checkSelfPermission(MainActivity.this,
           Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
              return;
           }
           startActivity(callIntent);
}

マニフェストに次のコードがあります。

<uses-permission Android:name="Android.permision.CALL_PHONE"></uses-permission>

Lolipop以降のSDKバージョンを使用している場合は、リクエスト権限を含める必要があります。

1
Codemaker