最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

UC2POCKET解决从UC到pocket的分享问题

来源:动视网 责编:小采 时间:2020-11-09 08:06:58
文档

UC2POCKET解决从UC到pocket的分享问题

UC2POCKET解决从UC到pocket的分享问题:----------2014 4 12更新--------------------- 随着新版UC和Pocket中文版的发布,也不知道是哪方做出了改动,总之现在已经能直接从UC分享到Pocket了!速速更新吧哈哈,这个UC2Pocket也成为了历史,不再提供更新和维护 ------------------
推荐度:
导读UC2POCKET解决从UC到pocket的分享问题:----------2014 4 12更新--------------------- 随着新版UC和Pocket中文版的发布,也不知道是哪方做出了改动,总之现在已经能直接从UC分享到Pocket了!速速更新吧哈哈,这个UC2Pocket也成为了历史,不再提供更新和维护 ------------------


----------2014 4 12更新--------------------- 随着新版UC和Pocket中文版的发布,也不知道是哪方做出了改动,总之现在已经能直接从UC分享到Pocket了!速速更新吧哈哈,这个UC2Pocket也成为了历史,不再提供更新和维护 ------------------------------------

----------2014 4 12更新---------------------

随着新版UC和Pocket中文版的发布,也不知道是哪方做出了改动,总之现在已经能直接从UC分享到Pocket了!速速更新吧哈哈,这个UC2Pocket也成为了历史,不再提供更新和维护

----------------------------------------------------------

不知道何时起UC已经不能分享到pocket了,作为pocket和uc重度用户,这绝逼不能忍

可能的情况就是UC的发送的intent与pocket的intent-filter不切合,UC2POCKET就是起到一个适配器的作用

先附上apk的地址,需要的童鞋就直接拿去吧UC2POCKET下载地址 百度盘


思路 利用apktools反编译Pocket文件,得到它的manifest.xml关键代码

 
 
 
 
 
	 
	 
这就是pocket接收分享的intent-filter。

于是就照着这么写

 Intent intent = new Intent(Intent.ACTION_SEND); 
	intent.setClassName("com.pocket.cn","com.ideashower.readitlater.activity.AddActivity");
	//intent.putExtra(Intent.EXTRA_SUBJECT, midIntent.getStringExtra(Intent.EXTRA_SUBJECT)); 
	String originUrl=midIntent.getStringExtra(Intent.EXTRA_TEXT);
	intent.putExtra(Intent.EXTRA_TEXT, getUrlFromUCShare(originUrl)); 
	intent.setType("text/plain"); 
	intent.addCategory(Intent.CATEGORY_DEFAULT);
	if(MainActivity.isIntentAvailable(MainActivity.this, intent)){
	MainActivity.this.startActivity(intent);
 }


intent.setClassName("com.pocket.cn","com.ideashower.readitlater.activity.AddActivity");
包名我是查钛备份得到,其实人家Manifest文件就有写着呢。而activity名就是上面反编译得到Manifest.xml文件后就知道了。话说AddActivity这个名字简洁直观,大赞

关于接收UC的intent那就比较方便了,条件也不苛刻,我就直接从keep的filter那儿拷贝了过去,这里到时候再修改

从UC得到的extra-text是 网页名加上地址的,需要提取出地址 ,还没有验证混合的情况下会是什么情况

public static String getUrlFromUCShare(String originStr){
	
	Pattern p=Pattern.compile("[a-zA-z]+://[^\\s]*");
	 Matcher matcher = p.matcher(originStr);
	 if (matcher.find()) {
	 
	 	String result= originStr.substring(matcher.start(), matcher.end());
	 	return result;
	 }
	 else return null;
	}

另外开发中还遇到了 分享到pocket时候提示 不是有效的地址。后来发现原来是要求http:// 打头的。如果你直接分享www.google.com而不是http://www.google.com,那pocket就会提示非有效的地址。。在stackoverflow有个类似的问题http://stackoverflow.com/questions/16108356/share-to-pocket ,应该这个就是原因


再附上一个显示bundle所有内容的函数,当时用于测试intent的内容时使用的

	Bundle b=midIntent.getExtras();
	Set keySet =b.keySet(); //获取所有的Key, 
	 for(String key : keySet){ //bundle.get(key);来获取对应的value 
	 tvState.setText(tvState.getText()+key+" : "+midIntent.getStringExtra(key)+"\n");//开始
	
	 }



附上源码地址 在csdn code https://code.csdn.net/dashboard/index

文档

UC2POCKET解决从UC到pocket的分享问题

UC2POCKET解决从UC到pocket的分享问题:----------2014 4 12更新--------------------- 随着新版UC和Pocket中文版的发布,也不知道是哪方做出了改动,总之现在已经能直接从UC分享到Pocket了!速速更新吧哈哈,这个UC2Pocket也成为了历史,不再提供更新和维护 ------------------
推荐度:
标签: 分享 uc 解决
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top