如何通过Bundle设置上下文



我必须将Context对象放在bundle中,并在输入值中发送它。

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);

我试过这样做,但没有成功,我该怎么办?

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

最新更新