我们最近在我们的应用程序中添加了一个MediaBrowserService,它允许Android通过我们的应用程序在设备上发现和播放音频内容。这如预期的那样起作用。
默认情况下,磨损会拾取并显示我们的“现在播放”通知,提供基本的播放/暂停功能,并提供一个“浏览”操作,该操作与我们的MediaBrowserService通信非常清楚。
我正在努力增加一个实际的磨损子应用到我们的主应用程序,我想调用我们自己的MediaBrowserService,就像磨损操作系统一样。
但是,当我调用mediaBrowser.connect()时,ConnectionCallback onConnectionFailed总是会触发。这种连接永远不会成功。在主应用程序上调试时,我从未见过有一个呼叫进入我们的MediaBrowserService。
这是相关代码。是否有可能以这种方式使用MediaBrowser来复制磨损本身能够实现的功能?不幸的是,ConnectionCallback没有提供任何信息来帮助解释为什么连接尝试失败。
MediaBrowser.ConnectionCallback callback = new MediaBrowser.ConnectionCallback() {
@Override
public void onConnected()
{
super.onConnected();
}
@Override
public void onConnectionFailed()
{
super.onConnectionFailed();
}
};
MediaBrowser mediaBrowser = new MediaBrowser(this, new ComponentName("main.app.package.name", "full.package.name.of.our.mediabrowserservice"), callback, null);
mediaBrowser.connect();更新
当我在应用程序中播放音频并在手表上显示音频通知时,我可以看到我们的MediaBrowserService启动,调用"onGetRoot“的包是
com.google.android.wearable.app
我原以为这是磨损操作系统本身,但这似乎是设备上安卓磨损应用程序的包名。不知怎么的,它正在请求并将数据中继到手表上,也许MediaBrowser根本无法从手表上的一个实际的磨损应用程序中工作?
我看到了大量使用GoogleApiClient在手表和电话之间进行数据通信的例子。我希望重用我们的MediaBrowserService,因为Wear默认使用它。这似乎不是一个选项,我必须使用GoogleApiClient和WearableListenerService,如果我想让磨损应用程序请求数据从手持应用程序。
发布于 2015-07-14 13:05:00
就目前而言,我问题的答案是“不”。人们可以在同一个磨损应用程序中使用MediaBrowser和MediaBrowserService (或者可能在两个磨损应用程序之间使用),但您不能使用磨损设备上的MediaBrowser来查找和连接连接在连接的电话/平板电脑上的MediaBrowserService。手机/平板电脑上的安卓磨损应用程序将使用MediaBrowser在手机/平板电脑上与MediaBrowserServices通话;然而,这些数据通过普通的磨损数据层传递给磨损设备上的通知。
https://stackoverflow.com/questions/31390381
复制相似问题