无法在AIDL文件中找到类android.database.Cursor的导入

时间:2012-02-15 13:54:47

标签: android aidl android-cursor

我创建了一个将在后台播放歌曲的服务。在服务中更改歌曲时,我需要来自服务的DataBase光标。

我在Service中有一个函数返回当前歌曲的光标。

public Cursor getCursor() {
    return nextmanagedCursor;
}

问题出现在AIDL界面中,当我在AIDL界面中声明该函数时,eclipse会出现以下错误。

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 个答案:

答案 0 :(得分:1)

实际上问题是Cursor不是Parcelable类,它是一个接口。所以你不能使用aidl转移它。你应该在它周围使用包装器。但我不知道你需要什么样的包装,因为我没有和它们合作过。也许CrossProcessCursor正是您所寻找的。