2012-02-15 99 views
0

我已经创建了一个将在后台播放歌曲的服务。在服务中更改歌曲时,我需要Service中的DataBase光标。无法在AIDL文件中找到类android.database.Cursor的导入

我在服务中有一个函数返回当前乐曲的光标。

public Cursor getCursor() { 
    return nextmanagedCursor; 
} 

问题是在AIDL接口中,当我在AIDL接口中声明它的功能时,它会给出以下错误。

Couldn't find import for class android.database.Cursor 

的AIDL文件内容如下图所示

package com.bobcares.pixie.audio; 

import android.database.Cursor; /* Error in this line cannot import android.database.Cursor*/ 

interface IAudioInterface{ 

Cursor getCursor(); 

} 

是,这是使用非基本数据类型的AIDL文件

回答

1

其实问题在于Cursor是不正确的做法一个Parcelable类,它是一个接口。所以你不能使用aidl来传输它。你应该在它周围使用包装。但我不知道你需要什么样的包装纸,因为我没有和他们合作过。也许CrossProcessCursor是你在找什么。

+0

只是注意'CrossProcessCursor'也是一个接口。 – m0skit0 2014-10-03 09:34:34