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

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

Android分享之“始终”和“仅此一次”_第1张图片

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

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

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"),可以为该分享界面自定义一个标题,且不会出现“始终”和“仅此一次”两个按钮,使得分享很灵活。


你可能感兴趣的:(android,分享,始终,仅此一次)