2014-12-06 15 views
0

当我试图发送包含一个带有加密音频文件数据的字符串的自定义对象时,我得到了FAILED BINDER TRANSACTION可序列化的对象给出FAILED BINDER TRANSACTION

Intent i = new Intent(getApplicationContext(),NextActivity.class);   
i.putExtra("customObj", customObj); 
startActivity(i); 

,并尝试使用

customObject = (CustomClass) getIntent().getSerializableExtra("customObj"); 

请让我知道如何与它体积庞大的音频文件数据发送给customObj收到的数据。

对于小尺寸音频文件数据我能够将数据导入NextActivity。

回答

1

不是将音频文件从活动传递到活动,而是让每个活动从磁盘(或来自某种静态缓存等)读取文件。在活动意图的捆绑附加内容中可以传递多少信息是有限制的,并且音频文件的大尺寸可能会导致应用程序崩溃。

+0

我正在从服务器获取音频文件数据,并在listview和onlistItem中显示该数据单击我将与该listitem相关的数据传递到下一个活动,我不想将服务器数据保存到本地系统,这需要占用巨大空间移动磁盘 – anilbabu 2014-12-06 19:50:49

+0

您可以随时将文件保存到应用程序缓存目录中的磁盘,您可以通过调用getCacheDir()来检索该文件(请参阅[本文]](http://developer.android.com/guide/topics/data /data-storage.html#filesInternal))。如果存储空间变得有限,Android会删除这里存储的文件。 – 2014-12-06 19:59:03