Sobes.tech
Junior — Middle

Android платформасында кирүү жана чыгуу чалууларын кантип ишке ашыруу керек?

sobes.tech AI

AIден жооп

Androidде кирүү жана чыгуу чалуу үчүн стандарттык APIлер колдонулат:

Чыгуу чалуу: Чыгуу чалуу жасоо үчүн Intent колдонсо болот Intent.ACTION_CALL же Intent.ACTION_DIAL:

  • ACTION_DIAL телефон колдонмусун номер менен ачат, бирок автоматтык түрдө чалууну жасабайт:
  • ACTION_CALL дароо чалууну баштайт, бирок CALL_PHONE уруксатын талап кылат:

Чыгуу чалуу үчүн мисал код:

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:+1234567890"));
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
    context.startActivity(callIntent);
} else {
    // Колдонуучудан уруксат сураңыз
}

Кирүү чалуу: Кирүү чалууларды иштетүү үчүн TelephonyManager жана PhoneStateListener же BroadcastReceiver колдонуу керек:

Мисал PhoneStateListener колдонуу:

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String phoneNumber) {
        switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                // Кирүү чалуу
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:
                // Чалуу активдүү
                break;
            case TelephonyManager.CALL_STATE_IDLE:
                // Чалуу бүттү же чалуу жок
                break;
        }
    }
};
telephonyManager.listen(callStateListener, PhoneStateListener.LISTEN_CALL_STATE);

Толук иштөө үчүн кошумча уруксаттар талап кылышы мүмкүн, мисалы, READ_PHONE_STATE:

Маанилүү: Android 6.0 (API 23) жана андан кийинки версияларда уруксаттарды колдонучудан сурап алуу керек, колдонмонун ишке киришинде.