Как сделать звонок через звонилку программно в Android Pie и выше - PullRequest
0 голосов
/ 28 октября 2019

Я использую этот код для отображения номера и при нажатии на него для набора номера. Он работает для версий Android до Android Pie.

    final Button but= findViewById(R.id.buttond);
    but.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String PhNumber = "6998474783";////example number
            final CharSequence[] phones = PhNumber.split(" - ");
            AlertDialog.Builder builder = new AlertDialog.Builder(CTX);
            builder.setTitle("Επιλογή Τηλεφώνου");
            builder.setItems(phones, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                    // Do something with the selection
                    Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phones[item].toString()));
                    if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {                           
                        return;                        }
                    startActivity(intent);                       
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }
    });

Что мне нужно изменить, чтобы работать с пирогом и выше? Показывает номер телефона, но когда я нажимаю, ничего не происходит

1 Ответ

0 голосов
/ 28 октября 2019

Решено с помощью ACTION_DIAL без каких-либо checkSelfPermission.

  Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phones[item].toString()));
    startActivity(intent); 

Если есть какой-либо другой способ, может быть с Telecom-Manager, пожалуйста, опубликуйте его.

...