[转]Android分享之“始终”和“仅此一次”

原文链接:http://m.blog.csdn.net/blog/ahence_tjsd/39004861#


几乎所有的App都有分享功能,除了使用第三方的分享SDK之外,我们还可以使用隐式Intent的分享方式,自动弹出一个包含系统中支持分享功能App的分享界面,用户可以选择一个希望使用的分享方式来进行分享,如下图:


乍一看,两个界面很像,但是第一个图中的最下面,有“始终”和“仅此一次”两个按钮,而且该界面的标题是固定的,为“完成操作需使用”,第二个图中则没有这两个按钮,且分享界面的标题是可以自定义的。

先看第一种分享方式,主要代码:

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
        intent.setType("text/plain");
        String content = "分享的纯文本内容在这里";
        intent.putExtra(Intent.EXTRA_TEXT, content);
        startActivity(intent);

使用第一图中的分享方式,很容易出现一个问题,比如选择了使用微信,接下来如果选择“仅此一次”还好,下次分享仍会弹出相同的界面,但是如果一旦选择了“始终”使用某个应用来分享,比如微信,那么下次再调用分享时就不再弹出这个选择界面,而是直接跳到微信,所以非常不灵活。如果要取消这个“始终”设置,需要执行应用程序——微信——清除默认设置,这种操作对于普通用户是很不友好的,甚至是很陌生的,因此会导致分享的局限性。

 

再看第二个图分享方式,主要代码:

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
        intent.setType("text/plain");
        String content = "分享的纯文本内容在这里";
        intent.putExtra(Intent.EXTRA_TEXT, content);
        startActivity(Intent.createChooser(
                intent, "分享界面Title"));

两种方式唯一的不同就是startActivity函数的Intent参数的构造方式不同,第二种方式使用了Intent.createChooser(intent, "分享界面Title"),可以为该分享界面自定义一个标题,且不会出现“始终”和“仅此一次”两个按钮,使得分享很灵活。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值