首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: torrent intent

Android: torrent intent
EN

Stack Overflow用户
提问于 2013-06-10 07:54:49
回答 2查看 1.7K关注 0票数 2

我已经安装了几个应用程序来下载torrents (Ttorrent,UTorrent等)。但是当我在我的应用程序中运行此代码时

代码语言:javascript
复制
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.addCategory(Intent.CATEGORY_DEFAULT);
    i.setType("application/x-bittorrent");
    i.setData(Uri.parse(movie.getTorrentUrl()));
    startActivity(Intent.createChooser(i, "view"));

我看到“没有应用程序可以执行此操作”对话框。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-10 23:02:09

我解决了为每个可以处理我的操作的应用程序获取intent的问题,然后我根据intent包名称执行一些过滤器(在我的例子中,我检查包是否包含"torrent“单词)。代码如下:

代码语言:javascript
复制
  public Intent generateTorrentIntent(Context context, String action, Intent intent) {
    final PackageManager packageManager = context.getPackageManager();
    List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    if (resolveInfo.size() > 0) {
        List<Intent> targetedShareIntents = new ArrayList<Intent>();
        for (ResolveInfo r : resolveInfo) {
            Intent progIntent = (Intent)intent.clone();
            String packageName = r.activityInfo.packageName;

            progIntent.setPackage(packageName);
            if (r.activityInfo.packageName.contains("torrent"))
                targetedShareIntents.add(progIntent);

        }
        if (targetedShareIntents.size() > 0) {
            Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0),
                    "Select app to share");

            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                    targetedShareIntents.toArray(new Parcelable[] {}));

            return chooserIntent;
        }
    }
    return null;
}
票数 0
EN

Stack Overflow用户

发布于 2013-06-10 08:10:31

显然,这些应用程序不支持这种特定的Intent结构。例如,也许该URL中的任何方案都是他们不理解的。

您可以考虑与他们各自的作者交谈,询问他们是否有可以用于此类操作的某种Intent,以及如果他们还不支持某些东西,是否可以添加一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17015359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档