Тостовое сообщение не отображается на реальном телефоне, пока оно отображается в эмуляторе - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь создать приложение для Android.Одна часть состоит в том, чтобы удостовериться, что тостовое сообщение показывает.Он работает, когда я запускаю приложение на эмуляторе Android Studio, но не показывает, когда я работаю на реальном телефоне Samsung

Это около тысячи строк кода, поэтому я не думаю, что этополезно скопировать все это.Итак, я хотел бы знать, есть ли какие-либо распространенные проблемы, которые могут привести к тому, что всплывающие сообщения будут отображаться в эмуляторе, но не на реальном телефоне.

- РЕДАКТИРОВАТЬ -

Это один изчасти, где я хочу добавить тост сообщение

private fun addListenerOnImageButtonHelper(intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(this,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}

- РЕДАКТИРОВАТЬ -

Настройка телефона для отображения уведомления была отключена.Проблема решена ... Спасибо

1 Ответ

0 голосов
/ 27 мая 2019

Вам нужно добавить ActivityName.this при создании toast

Поскольку вы хотите показать toast из ImageButton, нажмите

private fun addListenerOnImageButtonHelper(intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(ActivityName.this,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}

В противном случае вам нужно передать Context в качестве параметра в вашей функции

Как

private fun addListenerOnImageButtonHelper(context: Context,intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(context,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}
...