DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jeff1314
今日帖子: 10
在线用户: 10
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 nickemma (N.E Zhou) ★☆☆☆☆ -
普通会员
2017/12/12 12:34:45
标题:
[求助]关于安卓平台Intent的问题 浏览:852
加入我的收藏
楼主: 采用RAD 10.1.2版本

DEMO APP结构如下:
Form -->Home Frame --> PhotoFrame -->Image(分享的图片)
 
APP实现微信分享图片,采用调用系统方式,非SDK。现在存在2个问题:

1、采用系统Share方式,分享后,返回将会直接退出到 Home Frame 上,并非在PhotoFrame。非常影响用户体验,因为PhotoFrame有个Listbox列表,用户可能要分享多次。每次分享完,都要再重新进入PhotoFrame。

曾将Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
改为Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY);
效果一样。

2、分享到特定的App
Intent.setPackage("com.tencent.mm");可以分享:发送朋友、发送到朋友圈、添加收藏
但是如果用
Intent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");指定只分享朋友功能。这个功能是失效的。会列出全部分享内容,如:百度、QQ、彩信、微信、朋友圈、收藏等等
----------------------------------------------
-
作者:
男 nickemma (N.E Zhou) ★☆☆☆☆ -
普通会员
2017/12/13 0:18:12
1楼: 解决:经过多次测试,终于找到答案。
1、并非setFlags,addFlags的问题,下面方式修改官方源码后正常;
2、修改后Intent.setClassName也能正常指定发送朋友。

把官方:
ChooserCaption := GetChooserCaption(FDataType);
IntentChooser := TJIntent.JavaClass.createChooser(Intent, StrToJCharSequence(ChooserCaption));
TAndroidHelper.Activity.startActivityForResult(IntentChooser, 0);

改为即可:
TAndroidHelper.Activity.startActivityForResult(Intent, 0);

看上去,只是取消了“创建选择器”这个页面,但是就是OK了,不要问我为什么,因为我也不懂,测试出来的(不知道与手机制造商有没有关系,我两台都是华为)。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS