我试着将一些文本分享给Pocket app,但它一直告诉我:
"Could not be saved to Pocket. The shared content did not contain any valid web addresses"我使用下面的代码片段来分享:
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()以及放在那里的内容有关。有人能解释一下这个吗?
谢谢!
发布于 2013-04-20 05:02:37
问题出在这里:
if(info.activityInfo.packageName.contains("pocket")) {
intent.putExtra(Intent.EXTRA_TEXT, link);
}您正在检查当前活动的包名是否包含单词"pocket“。如果没有,您的意图将不包含袖珍应用程序所需的EXTRA_TEXT。
为什么不总是提供EXTRA_TEXT?
如果您真的只想在安装了Pocket应用程序的情况下填充EXTRA_TEXT,则可以执行以下操作:
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
}发布于 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
https://stackoverflow.com/questions/16108356
复制相似问题