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) жана андан кийинки версияларда уруксаттарды колдонучудан сурап алуу керек, колдонмонун ишке киришинде.