Вызов функции разрешения CALL_PHONE из другого класса в MainActivity в КотлинеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Вызов функции разрешения CALL_PHONE из другого класса в MainActivity в Котлине

Сообщение Anonymous »

Я пытаюсь вызвать функцию, которая запрашивает разрешения CALL_PHONE у другого класса. Хотя вызов этой функции из MainActivity работает хорошо, я не могу понять, как сделать то же самое из другого класса. Я пытался провести некоторое тестирование и знаю, как показать Toast из другого класса, используя контекст, но он не работает с RegisterForActivityResult. Приложение аварийно завершает работу при методе щелчка pbtn, отображающем информацию в logcat:

Код: Выделить всё

int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
Вот мой код:
Test_class.kt

Код: Выделить всё

class Test_class() :AppCompatActivity() {
fun checkpermissions(context: Context) {
val  permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()

){ isGranted ->
if (isGranted) {
Toast.makeText(context,"Permission accepted", Toast.LENGTH_SHORT).show()
}
else {
Toast.makeText(context,"Permission denied", Toast.LENGTH_SHORT).show()

}
}

val perm = Manifest.permission.CALL_PHONE
permissionLauncher.launch(perm)
MainActivity.kt:

Код: Выделить всё

(..)
pbtn.setOnClickListener {
val ex = Test_class()
ex.checkpermissions(applicationContext)
}
(..)
Кто-нибудь1 знает, как правильно вызывать разрешения из другого класса, и может немного объяснить простым способом?
Заранее спасибо
п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... ity-in-kot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»