Android. Программирование для профессионалов. 4-е издание


Листинг 15.16. Удаление фиктивного кода (CrimeFragment.kt)



Download 21,53 Mb.
Pdf ko'rish
bet245/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   241   242   243   244   245   246   247   248   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner


20sp
3dp
name="AppTheme"
parent="
Theme.AppCompat.Light.DarkActionBar
">
name="colorPrimary">@color/colorPrimary
name="colorPrimaryDark">@color/colorPrimaryDark

name="colorAccent">@color/colorAccent
Листинг 15.16. Удаление фиктивного кода (CrimeFragment.kt)
override fun onStart() {
...
suspectButton.apply {
...
pickContactIntent.addCategory(Inten
t.CATEGORY_HOME)
val packageManager: PackageManager =
requireActivity().packageManager
...
}
}


Рис. 15.7. Заблокированная кнопка выбора подозреваемого
Упражнение. Другой неявный интент
Возможно, вместо отправки отчета разгневанный пользователь
предпочтет разобраться с подозреваемым по телефону.
Добавьте новую кнопку для звонка подозреваемому.
Вам понадобится извлечь номер телефона из базы данных
контактов. Для этого необходимо обратиться с запросом к
другой таблице базы данных, 
Contacts 
Contract
, которая
называется 
CommonDataKinds.Phone
. За дополнительными
сведениями о том, как получить эту информацию, обращайтесь


к 
документации 
Contacts 
Contract
и
ContactsContract.CommonDataKinds.Phone
.
Пара подсказок: для запроса дополнительных данных
можно 
воспользоваться 
разрешением
android.permission.READ_CONTACTS
. Это разрешение во
время выполнения (runtime permission), поэтому вам нужно явно
запросить у пользователя разрешение на доступ к его адресной
книге. Если вы хотите узнать больше, посетите сайт
developer.android.com/training/permissions/requesting
.
С 
этим 
разрешением 
вы 
сможете 
прочитать
ContactsContract.Contacts._ID
для 
получения
идентификатора контакта из исходного запроса. Затем
полученный идентификатор используется для получения
данных из таблицы 
CommonDataKinds.Phone
.
После получения телефонного номера можно создать
неявный интент с URI телефона:
Uri number = Uri.parse("tel:5551234");
При 
этом 
может 
использоваться 
действие
Intent.ACTION_DIAL
или 
Intent.ACTION_CALL
.
ACTION_CALL
запускает телефонное приложение и немедленно
осуществляет звонок по номеру, отправленному в интент;
ACTION_DIAL
только вводит номер и ждет, пока пользователь
инициирует звонок.
Мы рекомендуем использовать 
ACTION_DIAL
. Режим
ACTION_CALL
может быть ограничен, и для него определенно
потребуются разрешения. Кроме того, у пользователя будет
возможность немного остыть перед нажатием кнопки вызова.



Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   241   242   243   244   245   246   247   248   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish