押されたときに電話をかけるクリックボタンを作ろうとしています。これが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>
エラーが発生し続けます残念ながら、アプリが機能しなくなりました。
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));
}
});
作業コードは次のとおりです。
@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)));
}
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" />
マニフェストのアプリケーションリストの上にコードを入力する必要があります。
<uses-permission Android:name="Android.permission.CALL_PHONE"/>
次のコードを使用できます
intent =new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:+251999999999"));
startActivity(intent);
マニフェストファイルに含める
<uses-permission Android:name="Android.permission.CALL_PHONE"/>
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バージョンを使用している場合は、リクエスト権限を含める必要があります。