是否有使用播客应用程序订阅提要的标准方法?
通常,当浏览器中显示播客时,它不会提供使用播客管理器打开的功能。我查看了 Swallowcatcher 清单,它将处理 feed://url podcast://url 和 itpc:// 意图订阅播客,尽管它似乎是唯一允许您执行此操作的应用程序。
不幸的是,Swallowcatcher 似乎已停产,并已从应用商店中删除。 :(
这是调用播客管理器的最佳方式吗?“feed”或“podcast”是调用用户安装的任何播客管理器的标准 Android 方案(doggcatcher/swallowcatcher/Google Listen/beyondpod/etc),还是有没有更标准的方法来调用 Android 播客应用程序?
更新
看看this,你会认为你可以使用以下方式订阅:
Intent bymime = new Intent(Intent.ACTION_VIEW);
bymime.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
bymime.setData(Uri.parse(url));
bymime.setType("application/xml");
_context.startActivity(bymime);
...但事实并非如此不起作用。
更新
进入 setData 和 setType 函数(安装了 Android 源并添加了 sdk/sources 文件夹),我发现 setType 设置数据为 null,而 setData 设置类型为 null 。
这有效的解决方案是:
Intent bymime = new Intent(Intent.ACTION_VIEW);
bymime.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
bymime.setDataAndType(Uri.parse(url), "application/xml");
_context.startActivity(bymime);
这在 Antennapod 中有效...但现在的问题是,有多少其他播客应用程序会捕获此问题?这是使用其他应用程序订阅播客的标准方法吗?
Normally, when a podcast is displayed in the browser it does not offer to open with a podcast manager. I looked in the Swallowcatcher manifest, it will handle feed://url and podcast://url and itpc:// intents to subscribe to podcasts, though it seems to be the only app that lets you do this.
Unfortunately, it appears Swallowcatcher is being discontinued, and has been removed from the app-store. :(
Is this the best way to call a podcast manager? Is "feed" or "podcast" the standard android scheme to call whatever podcast manager the user has installed (doggcatcher/swallowcatcher/Google listen/beyondpod/etc.), or is there a more standard way to call an Android podcast app?
Update
Looking at this, you would think that you could subscribe using:
Intent bymime = new Intent(Intent.ACTION_VIEW);
bymime.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
bymime.setData(Uri.parse(url));
bymime.setType("application/xml");
_context.startActivity(bymime);
...but it doesn't work. Am I missing something?
Update
Stepping into the setData and setType functions (with Android source installed and the sdk/sources folder added) I found that setType sets data null, and setData sets type null.
The solution that works is:
Intent bymime = new Intent(Intent.ACTION_VIEW);
bymime.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
bymime.setDataAndType(Uri.parse(url), "application/xml");
_context.startActivity(bymime);
This works in Antennapod... but now the question is, how many other podcast apps will catch this? Is this the standard way to subscribe to a podcast with another app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
通常,播客是 RSS 提要,以下是来自 Apple 的规范(显然,他们因创造该术语而获得荣誉,因此它们的规范是相关的):
http://www.apple.com/itunes/podcasts/specs.html#example
除了这两种协议方案,您还可以考虑“
itpc://
” - 一个 itunes 播客链接(嘿,在 Android 上会很酷,而且有大量的播客)=DTypically a podcast is an RSS feed, here are the spec's from apple (who get credit for coining the term obviously, so they're specs are relevant) :
http://www.apple.com/itunes/podcasts/specs.html#example
Other than those two protocol scheme, you may also consider "
itpc://
" - An itunes podcast link (and hey, would be cool on android and there's a ton of podcast out there with it) =D刚刚通过更改让 Google Listen 开始工作
itpc:/网址
到
提要:/网址
Just got Google Listen to work by changing
itpc:/url
to
feed:/url
我还没有找到任何使用 url 方案进行链接的好方法。然而,这个“捕手”似乎适用于大多数当前的播客应用程序:
https://subscribeonandroid.com/
只需修改 URL 以包含您的 Feed:
I haven't been able to find any good way of linking using url schemes. However this "catcher" seems to work for most current podcast apps:
https://subscribeonandroid.com/
Simply modify the url to include your feed:
iTunes 特定的命令解决方案是,
或者
这两个命令的工作方式不同,没有明显的方法来告诉使用哪一个。
The iTunes-specific command solution would be,
OR
The two commands work differently, with no apparent way to tell which one to use.