首页 > 解决方案 > 如何通过Bundle放置上下文

问题描述

我必须将 Context 对象放在包中并将其发送到输入值中。

in.putParcelable(DocumentsContract.EXTRA_URI, sourceDocumentUri);
in.putParcelable(DocumentsContract.EXTRA_TARGET_URI, targetParentDocumentUri);
in.putInt(DocumentsContract.EXTRA_FILE_COPY_OPERATION, operation);

in.putSerializable(DocumentsContract.EXTRA_CONTEXT, (Serializable) context);

我试过这样,但有异常,我该怎么做?

标签: javaandroid

解决方案


你永远不应该传递上下文。否则就是一个。内存泄漏的来源和b。崩溃的来源。由于您正在创建一个 Bundle,我假设您将启动另一个应用程序组件,并且(正如 Will 已经指出的那样)每个应用程序组件(和片段)都可以访问自己的上下文,所以真的没有必要这样做.


推荐阅读