将MemoryFile绑定到服务失败

时间:2015-06-04 06:48:01

标签: android ipc

我正在尝试将Service绑定到Activity,它在Bind上返回在Service中创建的内存文件对象。

问题是,在活动的onServiceConnected()回调期间,我可以从Service类接收任何类型的对象,除了在Service类中创建的MEMORYFILE类型对象。 / p>

当存在MemoryFile对象时,服务无法绑定到活动。

服务类如下

public class RemoteService extends Service {

IBinder mBinder = new LocalBinder();
MemoryFile mFile; 
@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    try {
        if(mFile == null)
        mFile = new MemoryFile("mem", 1024);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return mBinder;
}
public class LocalBinder extends Binder {
    public MemoryFile getMemoryFile() {
           return mFile;
          }
    }
  }

在活动中,Onserviceconnected()回调发生

public void onServiceConnected(ComponentName name, IBinder service) { Toast.makeText(MainActivity.this, "Service is connected", 1000).show(); mBounded = true; LocalBinder mLocalBinder = (LocalBinder)service; memoryFile = mLocalBinder.getMemoryFile(); }

0 个答案:

没有答案