我有一种方法可以返回一个BufferedReader
我的应用程序从中获取另一个程序的输出的方法。
在 Manager.java 中
public BufferedReader start() {
String[] commandLine2 = { "/system/bin/sh", "/system/app/launcher.sh" };
Process process = null;
try {
process = Runtime.getRuntime().exec(commandLine2);
reader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
writer = new OutputStreamWriter(process.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return reader;
}
在我的 MainActivity 中,我使用:
outputReader = manager.start();
其中 outputReader 是一个私有实例,BufferedReader
而 manager 是 Manager 之一。
只要我在 MainActivity.java 内的 AsyncTask 中使用这个缓冲阅读器,一切都会正常,因为我BufferedReader
在其范围内是可见的,但是当我想使用服务来完成任务时,我遇到了一些麻烦。
没有办法使用Intent.putExtra(Object)
既不是 Serializable 也不是 Parcelable 的对象(我的 BufferedReader 不是)。
那么我怎样才能将我的传递BufferedReader
给服务呢?