Android.os.BadParcelableException: Parcelable обнаружил исключение IOException, записывающее сериализуемый объект (имя =Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android.os.BadParcelableException: Parcelable обнаружил исключение IOException, записывающее сериализуемый объект (имя =

Сообщение Anonymous »

Я создал функцию общего доступа внутри (@Composable, используя Jetpack Compose, последние версии всех gradle и lib.versions.toml с Android Studio Jellyfish)

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

     that call Intent(Intent.ACTION_SEND)
намерение без проблем отправить мой файл, но проблема приводит к сбою моего приложения.
Все мои классы и объекты реализуют Parcelable и Serialized, проблема в том, что я не могу найти LinkedHashSet, который причина проблемы.
Близнецы не могут мне помочь, и я безрезультатно пытался изолировать проблему.

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

    fun createKmlFile(context: Context, kml: String, trailName: String): File? {
try {
// crea la directory kml_files nella cache dell'app se non esiste già,
//  e poi salva il file trail.kml all'interno di quella directory
val cacheDir = context.cacheDir
val kmlDirectory = File(cacheDir, "kml_files")

// Crea la directory se non esiste
if (!kmlDirectory.exists()) {
kmlDirectory.mkdirs()
}
val file = File(kmlDirectory, "$trailName.kml")
val fileWriter = FileWriter(file)
fileWriter.write(kml)
fileWriter.close()
return file
} catch (e: Exception) {
Log.e("Vagabondo", "Error creating KML file", e)
return null
}
}

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

    fun shareTrail(kml: String, trailName: String, context: Context) {
val kmlFile = createKmlFile(context, kml, trailName)
if (kmlFile != null) {
val kmlUri = FileProvider.getUriForFile(
context,
"${context.packageName}.fileprovider",
kmlFile
)
Log.d("Vagabondo", "created kml uri: $kmlUri")
val sendIntent = Intent(Intent.ACTION_SEND).apply {
type = "application/vnd.google-earth.kml+xml"
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
putExtra(EXTRA_STREAM, kmlUri)
}
launcher.launch(sendIntent)
}
}

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

FATAL EXCEPTION: main

Process: net.xxx, PID: 21214
android.os.BadParcelableException:  Parcelable encountered IOException writing serializable object (name = java.util.LinkedHashSet)
at android.os.Parcel.writeSerializable(Parcel.java:2797)
at android.os.Parcel.writeValue(Parcel.java:2563)
at android.os.Parcel.writeValue(Parcel.java:2362)
at android.os.Parcel.writeList(Parcel.java:1415)
at android.os.Parcel.writeValue(Parcel.java:2506)
at android.os.Parcel.writeValue(Parcel.java:2362)
at android.os.Parcel.writeMapInternal(Parcel.java:1266)
at android.os.Parcel.writeMap(Parcel.java:1248)
at android.os.Parcel.writeValue(Parcel.java:2476)
at android.os.Parcel.writeValue(Parcel.java:2362)
at android.os.Parcel.writeMapInternal(Parcel.java:1266)
at android.os.Parcel.writeMap(Parcel.java:1248)
at android.os.Parcel.writeValue(Parcel.java:2476)
at android.os.Parcel.writeValue(Parcel.java:2362)
at android.os.Parcel.writeList(Parcel.java:1415)
at android.os.Parcel.writeValue(Parcel.java:2506)
at android.os.Parcel.writeValue(Parcel.java:2362)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
at android.os.Bundle.writeToParcel(Bundle.java:1389)
at android.os.Parcel.writeBundle(Parcel.java:1367)
at android.os.Parcel.writeValue(Parcel.java:2479)
at android.os.Parcel.writeValue(Parcel.java:2369)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
at android.os.Bundle.writeToParcel(Bundle.java:1389)
at android.os.Parcel.writeBundle(Parcel.java:1367)
at android.os.Parcel.writeValue(Parcel.java:2479)
at android.os.Parcel.writeValue(Parcel.java:2369)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1917)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1954)
at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:123)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:139)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Caused by: java.io.NotSerializableException:  com.google.android.gms.maps.model.LatLng
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at java.util.HashSet.writeObject(HashSet.java:288)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1079)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1568)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1490)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at android.os.Parcel.writeSerializable(Parcel.java:2792)
at android.os.Parcel.writeValue(Parcel.java:2563) 
at android.os.Parcel.writeValue(Parcel.java:2362) 
at android.os.Parcel.writeList(Parcel.java:1415) 
at android.os.Parcel.writeValue(Parcel.java:2506) 
at android.os.Parcel.writeValue(Parcel.java:2362) 
at android.os.Parcel.writeMapInternal(Parcel.java:1266) 
at android.os.Parcel.writeMap(Parcel.java:1248) 
at android.os.Parcel.writeValue(Parcel.java:2476) 
at android.os.Parcel.writeValue(Parcel.java:2362) 
at android.os.Parcel.writeMapInternal(Parcel.java:1266) 
at android.os.Parcel.writeMap(Parcel.java:1248) 
at android.os.Parcel.writeValue(Parcel.java:2476) 
at android.os.Parcel.writeValue(Parcel.java:2362) 
at android.os.Parcel.writeList(Parcel.java:1415) 
at android.os.Parcel.writeValue(Parcel.java:2506) 
at android.os.Parcel.writeValue(Parcel.java:2362) 
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298) 
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) 
at android.os.Bundle.writeToParcel(Bundle.java:1389) 
at android.os.Parcel.writeBundle(Parcel.java:1367) 
at android.os.Parcel.writeValue(Parcel.java:2479) 
at android.os.Parcel.writeValue(Parcel.java:2369) 
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298) 
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843) 
at android.os.Bundle.writeToParcel(Bundle.java:1389) 
at android.os.Parcel.writeBundle(Parcel.java:1367) 
at android.os.Parcel.writeValue(Parcel.java:2479) 
at android.os.Parcel.writeValue(Parcel.java:2369) 
at android.os.BaseBundle.dumpStats(BaseBundle.java:1917) 
at android.os.BaseBundle.dumpStats(BaseBundle.java:1954) 
at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:123) 
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:139) 
at android.os.Handler.handleCallback(Handler.java:958) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loopOnce(Looper.java:205) 
at android.os.Looper.loop(Looper.java:294) 
at android.app.ActivityThread.main(ActivityThread.java:8177) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)  
Заранее спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/787 ... writing-se
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android.os.BadParcelableException: Parcelable обнаружил исключение IOException, записывающее сериализуемый объект (имя =
    Anonymous » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Android.os.BadParcelableException: Parcelable обнаружил исключение IOException, записывающее сериализуемый объект
    Гость » » в форуме Android
    0 Ответы
    43 Просмотры
    Последнее сообщение Гость
  • Сериализуемый объект Java в байтовый массив
    Anonymous » » в форуме JAVA
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Клон сериализуемый объект - Java
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Клон сериализуемый объект - Java
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

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