我正在编写一个android contentprovider,并且insert函数调用房间插入操作。我正在从协程调用此操作,但是我需要在协程中返回的ID来构建一个uri以返回到函数调用方。
override fun insert(uri: Uri, values: ContentValues?): Uri? {
...
val id: Long...
GlobalScope.launch {
id = dao.insert(entity)
}
//I NEED THE id so i can do following
context.contentResolver.notifyChange(uri, null)
return ContentUris.withAppendedId(uri, id)
...
}
但是发生的当然是该函数以id为0继续。尽管协程会执行并插入,但我无法获得id。