Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过Bundle放置上下文_Java_Android - Fatal编程技术网

Java 如何通过Bundle放置上下文

Java 如何通过Bundle放置上下文,java,android,Java,Android,我必须将上下文对象放在bundle中,并将其发送到输入值中 in.putParcelable(DocumentsContract.EXTRA_URI, sourceDocumentUri); in.putParcelable(DocumentsContract.EXTRA_TARGET_URI, targetParentDocumentUri); in.putInt(DocumentsContract.EXTRA_FILE_COPY_OPERATION, operation); in.putS

我必须将上下文对象放在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。车祸的源头。由于您正在创建一个捆绑包,我假设您将启动另一个应用程序组件,并且(正如Will已经指出的)每个应用程序组件(和片段)都可以访问其自己的上下文,因此确实没有必要这样做。

为什么需要将上下文放在捆绑包中?如果需要片段中的上下文,请使用
getActivity()
,但我必须在utils java文件中使用上下文,而不是在任何活动或片段中。那么我该如何管理它呢?但我必须在utils java文件中使用上下文,而不是在任何活动或片段中使用上下文。那么我该如何管理它呢?通常Utils文件包含静态方法。将
上下文
传递到静态方法中是安全的。根据您问题中的代码示例,您正在尝试将上下文放入捆绑包中。你为什么要这么做?