Android intent jump interface delivers big data processing

android.os.TransactionTooLargeException: data parcel size 562012 bytes big data transfer exception

Regarding the problem of Android intent transmitting big data, I have only recently encountered it. I have found various methods on the Internet. Now I will share it: First,
create a new data class:

import android.os.Binder;

/**
 * 应对跳转考试答题页 intent传递大数据时候
 */
public class BigBinder extends Binder {
    
    

    public AnswerPageEntity answerPageEntity;

    public BigBinder(AnswerPageEntity answerPageEntity) {
    
    

        this.answerPageEntity=answerPageEntity;

    }

}

where is the object class I want to pass;

Then adjust the start page code as follows:

 Intent intent = new Intent(this, NewAnswerPageActivity.class);
        Bundle bundle=new Bundle();
        BigBinder bigBinder=new BigBinder(answerPageEntity);
        bundle.putBinder("bigData",bigBinder);
        intent.putExtra("bundle",bundle);
        startActivity(intent);

The received interface code is as follows:

 Bundle bundle=intent.getBundleExtra("bundle");
            BigBinder bigBinder = (BigBinder) bundle.getBinder("bigData");
            Log.d("mawl","获取的intent数据是=="+bigBinder.answerPageEntity.getCode());
            mAnswerPageEntity = bigBinder.answerPageEntity;

ok It’s done, you can try it.

Guess you like

Origin blog.csdn.net/mawlAndroid/article/details/131916399