首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >共享到Pocket

共享到Pocket
EN

Stack Overflow用户
提问于 2013-04-19 23:38:53
回答 2查看 1.2K关注 0票数 2

我试着将一些文本分享给Pocket app,但它一直告诉我:

代码语言:javascript
复制
"Could not be saved to Pocket. The shared content did not contain any valid web addresses"

我使用下面的代码片段来分享:

代码语言:javascript
复制
Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setClassName(info.activityInfo.packageName, info.activityInfo.name); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_SUBJECT, subject); 

if(info.activityInfo.packageName.contains("pocket"))  { 
    intent.putExtra(Intent.EXTRA_TEXT, link); 
}

((Activity)context).startActivity(intent);

它适用于GMail或Evernote,但分享到Pocket有问题。我打赌它与putExtra()以及放在那里的内容有关。有人能解释一下这个吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-20 05:02:37

问题出在这里:

代码语言:javascript
复制
if(info.activityInfo.packageName.contains("pocket"))  { 
  intent.putExtra(Intent.EXTRA_TEXT, link); 
}

您正在检查当前活动的包名是否包含单词"pocket“。如果没有,您的意图将不包含袖珍应用程序所需的EXTRA_TEXT。

为什么不总是提供EXTRA_TEXT?

如果您真的只想在安装了Pocket应用程序的情况下填充EXTRA_TEXT,则可以执行以下操作:

代码语言:javascript
复制
PackageManager pm = getPackageManager(); 
try {
       pm.getPackageInfo("com.ideashower.readitlater.pro", PackageManager.GET_ACTIVITIES);
       intent.putExtra(Intent.EXTRA_TEXT, link); 
} catch (PackageManager.NameNotFoundException e) { 
      // Pocket app not installed
}
票数 2
EN

Stack Overflow用户

发布于 2015-03-11 19:17:44

intent.putExtra(Intent.EXTRA_TEXT,文本);

如果共享到pocket中的"text“应该与其他字符留有空格,例如:

如果text = "abc abchttp://www.google.com

pocket将无法获取网址

应为text = "abc http://www.google.com

但是Evernote可以自动提取url

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

https://stackoverflow.com/questions/16108356

复制
相关文章

相似问题

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