Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
500 of 502 menu
◀ ▶

Класс BadParcelableException

Класс BadParcelableException сигнализирует, что поток parcel не совпадает с ожидаемым типом или данные обрезаны. Возникает при getParcelableExtra, восстановлении savedInstanceState и IPC между процессами. Соседняя проблема объёма - TransactionTooLargeException.

Пример

Давайте безопасно прочитаем строку из intent:

import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val line = try { intent.getStringExtra("abcde") ?: "12345" } catch (e: RuntimeException) { Log.e("abcde", "12345") "12345" } setContent { Text(text = line) } } }

Строковый extra читается без parcel классов. Неверный Parcelable в bundle даёт BadParcelableException при распаковке.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить