【问题标题】:i want to share my app via social netwoking like facebook ,twitter我想通过 facebook、twitter 等社交网络分享我的应用程序
【发布时间】:2016-04-28 07:59:33
【问题描述】:

是否有可能如果用户点击 facebook 按钮,系统会打开一个只有 facebook 应用程序的选择器,如果它已安装,否则它会显示未安装应用程序的弹出窗口。 其他社交网络(如 twitter 等)也是如此......

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    此示例代码用于将字符串共享到 facebook、zalo、twiter。您可以根据需要自定义

    public void share(String message) {
        try {
            List<Intent> targetedShareIntents = new ArrayList<Intent>();
            Intent share = new Intent(android.content.Intent.ACTION_SEND);
            share.setType("text/plain");
            List<ResolveInfo> resInfo = getPackageManager()
                    .queryIntentActivities(share, 0);
            if (!resInfo.isEmpty()) {
                for (ResolveInfo info : resInfo) {
                    Intent targetedShare = new Intent(
                            android.content.Intent.ACTION_SEND);
                    targetedShare.setType("text/plain"); // put here your mime
                    // type
                    if (info.activityInfo.packageName.toLowerCase().contains(
                            "facebook") || info.activityInfo.name.toLowerCase().contains(
                            "facebook") || info.activityInfo.packageName.toLowerCase().contains(
                            "zalo") || info.activityInfo.name.toLowerCase().contains(
                            "zalo") || info.activityInfo.packageName.toLowerCase().contains(
                            "twitter") || info.activityInfo.name.toLowerCase().contains(
                            "twitter")) {
                        targetedShare.putExtra(Intent.EXTRA_SUBJECT,
                                getString(R.string.app_name));
                        targetedShare.putExtra(Intent.EXTRA_TEXT, message);
                        targetedShare.setPackage(info.activityInfo.packageName);
                        targetedShareIntents.add(targetedShare);
                    }
                }
                Intent chooserIntent = Intent.createChooser(
                        targetedShareIntents.remove(0), "Select app to share");
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                        targetedShareIntents.toArray(new Parcelable[]{}));
                startActivity(chooserIntent);
            }
        } catch (Exception e) {
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多