Fhl*_*Fhl 3 spotify xamarin java-binding
我正在尝试创建一个Xamarin Java绑定到Spotify Android SDK.SDK现在分为两部分,一部分用于身份验证,另一部分用于播放器.以前的java绑定工作,然而,秒给我一个错误.
最初的问题是在Xamarin论坛上提出的.
嗨,
我正在尝试为Spotify Android SDK创建一个绑定项目.
SDK分为两个.aar文件.一个用于身份验证,一个用于媒体播放(播放器).首先,我尝试在一个绑定项目中同时使用.aar文件,但是忽略了Player.aar.然而,将它移动到它自己似乎工作.
现在,我的问题是有关Java接口NativePlayerNotificationCallback,其产生的IPlayerNotificationCallback(因此缺乏OG通知),但在播放器类它试图实现:global::Com.Spotify.Android.Player.INativePlayerNotificationCallback.
我INativePlayerNotificationCallback在反编译文件中找不到其他提及.只有IPlayerNotificationCallback.
我知道这有点难以想象.以下是JD-GUI中的java类文件:

生成的文件列在这里:

在Com.Spotify.Sdk.Android.Player.IPlayerNotificationCallback.cs文件中:

而错误信息本身
错误CS0234:namespaceCom.Spotify.Sdk.Android.Player中不存在类型或命名空间名称INativePlayerNotificationCallback'.你错过了装配参考吗?

我真的很感激任何有关如何使其工作的见解.在我看来,界面的命名有一些不一致,但我不确定.
感谢你帮忙,弗雷德里克
应该通过向Player绑定项目添加元数据来修复:
<metadata>
<attr path="/api/package[@name='com.spotify.sdk.android.player']/interface[@name='NativePlayerNotificationCallback']" name="visibility">public</attr>
</metadata>
Run Code Online (Sandbox Code Playgroud)
和Player类扩展(进入Additions目录):
using System.Collections;
using Java.Lang;
using Java.Util.Concurrent;
namespace Com.Spotify.Sdk.Android.Player
{
public partial class Player
{
public IList InvokeAll(ICollection tasks)
{
return null;
}
public IList InvokeAll(ICollection tasks, long timeout, TimeUnit unit)
{
return null;
}
public Object InvokeAny(ICollection tasks)
{
return null;
}
public Object InvokeAny(ICollection tasks, long timeout, TimeUnit unit)
{
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可能需要通过调用泛型方法来正确实现这些方法.此外,我不得不向Auth库绑定项目添加元数据(我在旧主题中找到它)并从Player项目中引用了Auth项目,因为它使用了一些类(可能没有必要).
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |